{
  "openapi": "3.0.0",
  "info": {
    "title": "Scenario REST API",
    "version": "1.0.0",
    "description": "The Scenario REST API — AI-powered game asset creation platform."
  },
  "servers": [
    {
      "url": "https://api.cloud.scenario.com/v1",
      "description": "Production"
    }
  ],
  "components": {
    "securitySchemes": {
      "scBasicAuth": {
        "type": "http",
        "scheme": "basic"
      },
      "scBearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    },
    "responses": {
      "BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "additionalProperties": false,
              "properties": {
                "apiError": {
                  "type": "string"
                },
                "createdAt": {
                  "type": "string"
                },
                "error": {
                  "type": "string"
                },
                "hint": {
                  "type": "string"
                },
                "id": {
                  "type": "string"
                },
                "infos": {
                  "additionalProperties": false,
                  "type": "object"
                },
                "updatedAt": {
                  "type": "string"
                }
              },
              "required": [
                "apiError",
                "createdAt",
                "error",
                "id",
                "infos",
                "updatedAt"
              ],
              "type": "object"
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "additionalProperties": false,
              "properties": {
                "apiError": {
                  "type": "string"
                },
                "createdAt": {
                  "type": "string"
                },
                "error": {
                  "type": "string"
                },
                "hint": {
                  "type": "string"
                },
                "id": {
                  "type": "string"
                },
                "infos": {
                  "additionalProperties": false,
                  "type": "object"
                },
                "updatedAt": {
                  "type": "string"
                }
              },
              "required": [
                "apiError",
                "createdAt",
                "error",
                "id",
                "infos",
                "updatedAt"
              ],
              "type": "object"
            }
          }
        }
      },
      "Forbidden": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "additionalProperties": false,
              "properties": {
                "apiError": {
                  "type": "string"
                },
                "createdAt": {
                  "type": "string"
                },
                "error": {
                  "type": "string"
                },
                "hint": {
                  "type": "string"
                },
                "id": {
                  "type": "string"
                },
                "infos": {
                  "additionalProperties": false,
                  "type": "object"
                },
                "updatedAt": {
                  "type": "string"
                }
              },
              "required": [
                "apiError",
                "createdAt",
                "error",
                "id",
                "infos",
                "updatedAt"
              ],
              "type": "object"
            }
          }
        }
      },
      "NotFound": {
        "description": "Not Found",
        "content": {
          "application/json": {
            "schema": {
              "additionalProperties": false,
              "properties": {
                "apiError": {
                  "type": "string"
                },
                "createdAt": {
                  "type": "string"
                },
                "error": {
                  "type": "string"
                },
                "hint": {
                  "type": "string"
                },
                "id": {
                  "type": "string"
                },
                "infos": {
                  "additionalProperties": false,
                  "type": "object"
                },
                "updatedAt": {
                  "type": "string"
                }
              },
              "required": [
                "apiError",
                "createdAt",
                "error",
                "id",
                "infos",
                "updatedAt"
              ],
              "type": "object"
            }
          }
        }
      },
      "TooManyRequests": {
        "description": "Too Many Requests",
        "content": {
          "application/json": {
            "schema": {
              "additionalProperties": false,
              "properties": {
                "details": {
                  "additionalProperties": false,
                  "description": "Error details",
                  "type": "object"
                },
                "name": {
                  "description": "A specific error name",
                  "type": "string"
                },
                "reason": {
                  "description": "Some additional information about the error",
                  "type": "string"
                }
              },
              "required": [
                "reason"
              ],
              "type": "object"
            }
          }
        }
      },
      "InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "additionalProperties": false,
              "properties": {
                "apiError": {
                  "type": "string"
                },
                "createdAt": {
                  "type": "string"
                },
                "error": {
                  "type": "string"
                },
                "hint": {
                  "type": "string"
                },
                "id": {
                  "type": "string"
                },
                "infos": {
                  "additionalProperties": false,
                  "type": "object"
                },
                "updatedAt": {
                  "type": "string"
                }
              },
              "required": [
                "apiError",
                "createdAt",
                "error",
                "id",
                "infos",
                "updatedAt"
              ],
              "type": "object"
            }
          }
        }
      }
    }
  },
  "paths": {
    "/models": {
      "get": {
        "operationId": "GetModels",
        "description": "List all models. Supports both public access (via the `Authorization` header set to `public-auth-token`) and authenticated user access (including API keys).",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "The status of the models to return. Only available when privacy=private/unlisted. \"deleted\" returns the models deleted in the last 30 days, each with its `deletedAt` date",
            "schema": {
              "type": "string",
              "enum": [
                "new",
                "training",
                "trained",
                "failed",
                "deleted"
              ]
            }
          },
          {
            "name": "privacy",
            "in": "query",
            "required": false,
            "description": "The privacy of the models to return. The default value is `private`, possible values are `private` and `public`",
            "schema": {
              "type": "string",
              "default": "private",
              "enum": [
                "private",
                "public"
              ]
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "The number of items to return in the response. The default value is 100, maximum value is 500, minimum value is 1",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 500,
              "default": 100
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "required": false,
            "description": "A token you received in a previous request to query the next page of items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "collectionId",
            "in": "query",
            "required": false,
            "description": "When provided, only the models in the Collection will be returned. Only available when privacy=private/unlisted (note: this is different from collectionIds which is only for privacy=public)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "loadedOnly",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the list of models currently loaded on GPU",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "blacklisted",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the full list of models (including blacklisted models) (only available for team admins)",
            "schema": {
              "type": "boolean",
              "default": "false"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "List all the models of a specific type. The parameter \"type\" and \"types\" cannot be used together. Can be any of the following values: flux.1, flux.1-lora, flux.1-kontext-dev, flux.1-krea-dev, flux.1-kontext-lora, flux.1-krea-lora, flux.1-composition, flux.1-pro, flux1.1-pro, flux.1.1-pro-ultra, flux.2-dev-lora, flux.2-dev-edit-lora, flux.2-klein-4b-lora, flux.2-klein-9b-lora, flux.2-klein-base-4b-lora, flux.2-klein-base-9b-lora, flux.2-klein-4b-edit-lora, flux.2-klein-9b-edit-lora, flux.2-klein-base-4b-edit-lora, flux.2-klein-base-9b-edit-lora, gpt-image-1, qwen-image-lora, qwen-image-2512-lora, qwen-image-edit-lora, qwen-image-edit-2509-lora, qwen-image-edit-2511-lora, zimage-lora, zimage-turbo-lora, zimage-de-turbo-lora, custom, elevenlabs-voice. Only available when privacy=public",
            "schema": {
              "type": "string",
              "enum": [
                "flux.1",
                "flux.1-lora",
                "flux.1-kontext-dev",
                "flux.1-krea-dev",
                "flux.1-kontext-lora",
                "flux.1-krea-lora",
                "flux.1-composition",
                "flux.1-pro",
                "flux1.1-pro",
                "flux.1.1-pro-ultra",
                "flux.2-dev-lora",
                "flux.2-dev-edit-lora",
                "flux.2-klein-4b-lora",
                "flux.2-klein-9b-lora",
                "flux.2-klein-base-4b-lora",
                "flux.2-klein-base-9b-lora",
                "flux.2-klein-4b-edit-lora",
                "flux.2-klein-9b-edit-lora",
                "flux.2-klein-base-4b-edit-lora",
                "flux.2-klein-base-9b-edit-lora",
                "gpt-image-1",
                "qwen-image-lora",
                "qwen-image-2512-lora",
                "qwen-image-edit-lora",
                "qwen-image-edit-2509-lora",
                "qwen-image-edit-2511-lora",
                "zimage-lora",
                "zimage-turbo-lora",
                "zimage-de-turbo-lora",
                "custom",
                "elevenlabs-voice"
              ]
            }
          },
          {
            "name": "types",
            "in": "query",
            "required": false,
            "description": "List of types, comma separated. The parameter \"type\" and \"types\" cannot be used together. Can be any of the following values: flux.1, flux.1-lora, flux.1-kontext-dev, flux.1-krea-dev, flux.1-kontext-lora, flux.1-krea-lora, flux.1-composition, flux.1-pro, flux1.1-pro, flux.1.1-pro-ultra, flux.2-dev-lora, flux.2-dev-edit-lora, flux.2-klein-4b-lora, flux.2-klein-9b-lora, flux.2-klein-base-4b-lora, flux.2-klein-base-9b-lora, flux.2-klein-4b-edit-lora, flux.2-klein-9b-edit-lora, flux.2-klein-base-4b-edit-lora, flux.2-klein-base-9b-edit-lora, gpt-image-1, qwen-image-lora, qwen-image-2512-lora, qwen-image-edit-lora, qwen-image-edit-2509-lora, qwen-image-edit-2511-lora, zimage-lora, zimage-turbo-lora, zimage-de-turbo-lora, custom, elevenlabs-voice. Only available when privacy=public",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "flux.1",
                  "flux.1-lora",
                  "flux.1-kontext-dev",
                  "flux.1-krea-dev",
                  "flux.1-kontext-lora",
                  "flux.1-krea-lora",
                  "flux.1-composition",
                  "flux.1-pro",
                  "flux1.1-pro",
                  "flux.1.1-pro-ultra",
                  "flux.2-dev-lora",
                  "flux.2-dev-edit-lora",
                  "flux.2-klein-4b-lora",
                  "flux.2-klein-9b-lora",
                  "flux.2-klein-base-4b-lora",
                  "flux.2-klein-base-9b-lora",
                  "flux.2-klein-4b-edit-lora",
                  "flux.2-klein-9b-edit-lora",
                  "flux.2-klein-base-4b-edit-lora",
                  "flux.2-klein-base-9b-edit-lora",
                  "gpt-image-1",
                  "qwen-image-lora",
                  "qwen-image-2512-lora",
                  "qwen-image-edit-lora",
                  "qwen-image-edit-2509-lora",
                  "qwen-image-edit-2511-lora",
                  "zimage-lora",
                  "zimage-turbo-lora",
                  "zimage-de-turbo-lora",
                  "custom",
                  "elevenlabs-voice"
                ]
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "description": "List of tags, comma separated. Only available when privacy=public",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "collectionIds",
            "in": "query",
            "required": false,
            "description": "List of collection ids, comma separated. Only available when privacy=public",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "required": false,
            "description": "Filter results to only return models created before the specified ISO string date (exclusive). Requires the sortBy parameter to be \"createdAt\". Available for both privacy=public and privacy=private/unlisted",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdAfter",
            "in": "query",
            "required": false,
            "description": "Filter results to only return models created after the specified ISO string date (exclusive). Requires the sortBy parameter to be \"createdAt\". Available for both privacy=public and privacy=private/unlisted",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updatedBefore",
            "in": "query",
            "required": false,
            "description": "Filter results to only return models updated before the specified ISO string date (exclusive). Requires the sortBy parameter to be \"updatedAt\". Only available when privacy=public",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updatedAfter",
            "in": "query",
            "required": false,
            "description": "Filter results to only return models updated after the specified ISO string date (exclusive). Requires the sortBy parameter to be \"updatedAt\". Only available when privacy=public",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "required": false,
            "description": "Sort results by createdAt, updatedAt, or score. When privacy=public, defaults to score if not specified. When privacy=private/unlisted, supports createdAt and score (default: createdAt). When sortBy=score for privacy=private/unlisted, both privacy and status query parameters are required.",
            "schema": {
              "type": "string",
              "default": "createdAt",
              "enum": [
                "createdAt",
                "updatedAt",
                "score"
              ]
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Sort results in ascending (asc) or descending (desc) order. Only used when sortBy is specified. Available for both privacy=public and privacy=private/unlisted.\nFor public models, this parameter is ignored when sortBy is not specified or set to score.",
            "schema": {
              "type": "string",
              "default": "desc",
              "enum": [
                "asc",
                "desc"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "models": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "accessRestrictions": {
                            "description": "The access restrictions of the model\n0: Free plan\n25: Starter plan\n50: Pro plan\n75: Max plan\n100: Enterprise plan",
                            "enum": [
                              0,
                              100,
                              25,
                              50,
                              75
                            ],
                            "type": "number"
                          },
                          "authorId": {
                            "description": "The author user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                            "type": "string"
                          },
                          "capabilities": {
                            "description": "List of model capabilities (example: [\"txt2img\", \"img2img\", \"txt2img_ip_adapter\", ...])",
                            "items": {
                              "enum": [
                                "3d23d",
                                "audio2audio",
                                "audio2txt",
                                "audio2video",
                                "controlnet",
                                "controlnet_img2img",
                                "controlnet_inpaint",
                                "controlnet_inpaint_ip_adapter",
                                "controlnet_ip_adapter",
                                "controlnet_reference",
                                "controlnet_texture",
                                "img23d",
                                "img2img",
                                "img2img_ip_adapter",
                                "img2img_texture",
                                "img2txt",
                                "img2video",
                                "inpaint",
                                "inpaint_ip_adapter",
                                "outpaint",
                                "reference",
                                "reference_texture",
                                "txt23d",
                                "txt2audio",
                                "txt2img",
                                "txt2img_ip_adapter",
                                "txt2img_texture",
                                "txt2txt",
                                "txt2video",
                                "video23d",
                                "video2audio",
                                "video2img",
                                "video2txt",
                                "video2video"
                              ],
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "class": {
                            "additionalProperties": false,
                            "description": "The class of the model",
                            "properties": {
                              "category": {
                                "description": "The category slug of the class (example: \"art-style\")",
                                "type": "string"
                              },
                              "conceptPrompt": {
                                "description": "The concept prompt of the class (example: \"a sks character design\")",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID of the class. Only available for legacy models.",
                                "type": "string"
                              },
                              "name": {
                                "description": "The class name (example: \"Character Design\")",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "The class prompt (example: \"a character design\")",
                                "type": "string"
                              },
                              "slug": {
                                "description": "The class slug (example: \"art-style-character-design\")",
                                "type": "string"
                              },
                              "status": {
                                "description": "The class status (only published classes are listed, but unpublished classes can still appear in existing models)",
                                "enum": [
                                  "published",
                                  "unpublished"
                                ],
                                "type": "string"
                              },
                              "thumbnails": {
                                "description": "Some example images URLs to showcase the class",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              }
                            },
                            "required": [
                              "category",
                              "conceptPrompt",
                              "modelId",
                              "name",
                              "prompt",
                              "slug",
                              "status",
                              "thumbnails"
                            ],
                            "type": "object"
                          },
                          "collectionIds": {
                            "description": "A list of CollectionId this model belongs to",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "compliantModelIds": {
                            "description": "List of base model IDs compliant with the model (example: [\"flux.1-dev\", \"flux.1-schnell\"])\nThis attribute is mainly used for Flux LoRA models",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "concepts": {
                            "description": "The concepts is required for the type model: composition",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "modelEpoch": {
                                  "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                  "type": "string"
                                },
                                "modelId": {
                                  "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                  "type": "string"
                                },
                                "scale": {
                                  "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                  "maximum": 2,
                                  "minimum": -2,
                                  "type": "number"
                                }
                              },
                              "required": [
                                "modelId",
                                "scale"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "createdAt": {
                            "description": "The model creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "custom": {
                            "description": "Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint",
                            "type": "boolean"
                          },
                          "deletedAt": {
                            "description": "The model deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted models, listed with `status=deleted`.",
                            "type": "string"
                          },
                          "disableRefund": {
                            "description": "When true, credits spent on a generation with this model are not\nautomatically refunded if the generation fails. Absent or false means\nfailed generations are refunded as usual.",
                            "type": "boolean"
                          },
                          "epoch": {
                            "description": "The epoch of the model. Only available for Flux Lora Trained models.\nIf not set, uses the final model epoch (latest)",
                            "type": "string"
                          },
                          "epochs": {
                            "description": "The epochs of the model. Only available for Flux Lora Trained models.",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "assets": {
                                  "description": "The assets of the epoch if sample prompts as been supplied during training",
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "assetId": {
                                        "description": "The AssetId of the image during training (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                        "type": "string"
                                      },
                                      "url": {
                                        "description": "The url of the asset",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "assetId",
                                      "url"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "epoch": {
                                  "description": "The epoch hash to identify the epoch",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "epoch"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "exampleAssetIds": {
                            "description": "List of all example asset IDs setup by the model owner",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "id": {
                            "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                            "type": "string"
                          },
                          "inputs": {
                            "description": "The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}",
                            "items": {
                              "additionalProperties": false,
                              "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                              "properties": {
                                "allowedValues": {
                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                  "items": {},
                                  "type": "array"
                                },
                                "backgroundBehavior": {
                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                  "enum": [
                                    "opaque",
                                    "transparent"
                                  ],
                                  "type": "string"
                                },
                                "color": {
                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                  "type": "boolean"
                                },
                                "costImpact": {
                                  "description": "Whether this input affects the model's cost calculation",
                                  "type": "boolean"
                                },
                                "default": {
                                  "description": "The default value for the input"
                                },
                                "description": {
                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                  "type": "string"
                                },
                                "group": {
                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                  "type": "string"
                                },
                                "hint": {
                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                  "type": "string"
                                },
                                "inputs": {
                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                  "items": {
                                    "additionalProperties": true,
                                    "properties": {},
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "kind": {
                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                  "enum": [
                                    "3d",
                                    "audio",
                                    "document",
                                    "image",
                                    "image-hdr",
                                    "json",
                                    "text",
                                    "video"
                                  ],
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label displayed in the UI for this input",
                                  "type": "string"
                                },
                                "maskFrom": {
                                  "description": "The name of the file input field to use as the mask source",
                                  "type": "string"
                                },
                                "max": {
                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                  "type": "number"
                                },
                                "maxDuration": {
                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                  "type": "number"
                                },
                                "maxLength": {
                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                  "type": "number"
                                },
                                "maxSize": {
                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                  "type": "number"
                                },
                                "min": {
                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                  "type": "number"
                                },
                                "minDuration": {
                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                  "type": "number"
                                },
                                "minLength": {
                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                  "type": "number"
                                },
                                "modelTypes": {
                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                  "items": {
                                    "enum": [
                                      "custom",
                                      "elevenlabs-voice",
                                      "flux.1",
                                      "flux.1-composition",
                                      "flux.1-kontext-dev",
                                      "flux.1-kontext-lora",
                                      "flux.1-krea-dev",
                                      "flux.1-krea-lora",
                                      "flux.1-lora",
                                      "flux.1-pro",
                                      "flux.1.1-pro-ultra",
                                      "flux.2-dev-edit-lora",
                                      "flux.2-dev-lora",
                                      "flux.2-klein-4b-edit-lora",
                                      "flux.2-klein-4b-lora",
                                      "flux.2-klein-9b-edit-lora",
                                      "flux.2-klein-9b-lora",
                                      "flux.2-klein-base-4b-edit-lora",
                                      "flux.2-klein-base-4b-lora",
                                      "flux.2-klein-base-9b-edit-lora",
                                      "flux.2-klein-base-9b-lora",
                                      "flux1.1-pro",
                                      "gpt-image-1",
                                      "qwen-image-2512-lora",
                                      "qwen-image-edit-2509-lora",
                                      "qwen-image-edit-2511-lora",
                                      "qwen-image-edit-lora",
                                      "qwen-image-lora",
                                      "zimage-de-turbo-lora",
                                      "zimage-lora",
                                      "zimage-turbo-lora"
                                    ],
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "name": {
                                  "description": "The name that must be user to call the model through the API",
                                  "type": "string"
                                },
                                "parent": {
                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                  "type": "boolean"
                                },
                                "placeholder": {
                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                  "type": "string"
                                },
                                "prompt": {
                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                  "type": "boolean"
                                },
                                "promptSpark": {
                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                  "type": "boolean"
                                },
                                "required": {
                                  "additionalProperties": false,
                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                  "properties": {
                                    "always": {
                                      "description": "Whether the input is always required",
                                      "type": "boolean"
                                    },
                                    "conditional": {
                                      "additionalProperties": false,
                                      "description": "Makes this input required when other inputs have one of the listed values",
                                      "properties": {
                                        "operator": {
                                          "default": "and",
                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                          "enum": [
                                            "and",
                                            "or"
                                          ],
                                          "type": "string"
                                        },
                                        "values": {
                                          "additionalProperties": false,
                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                          "type": "object"
                                        }
                                      },
                                      "required": [
                                        "values"
                                      ],
                                      "type": "object"
                                    },
                                    "ifDefined": {
                                      "additionalProperties": false,
                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                      "type": "object"
                                    },
                                    "ifNotDefined": {
                                      "additionalProperties": false,
                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                      "type": "object"
                                    }
                                  },
                                  "type": "object"
                                },
                                "step": {
                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                  "minimum": 1,
                                  "type": "number"
                                },
                                "type": {
                                  "description": "The data type of the input",
                                  "enum": [
                                    "boolean",
                                    "file",
                                    "file_array",
                                    "inputs_array",
                                    "model",
                                    "model_array",
                                    "number",
                                    "number_array",
                                    "string",
                                    "string_array"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "name",
                                "type"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "jobId": {
                            "description": "The ID of the job that trained the model, returned to the model owner only\n(example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                            "type": "string"
                          },
                          "modelKeyword": {
                            "description": "The model keyword, this is a legacy parameter, please use conceptPrompt in parameters",
                            "type": "string"
                          },
                          "name": {
                            "description": "The model name (example: \"Cinematic Realism\")",
                            "type": "string"
                          },
                          "negativePromptEmbedding": {
                            "description": "Fine-tune the model's inferences with negative prompt embedding",
                            "type": "string"
                          },
                          "ownerId": {
                            "description": "The owner ID (example: \"team_VFhihHKMRZyDDnZAJwLb2Q\")",
                            "type": "string"
                          },
                          "parameters": {
                            "additionalProperties": false,
                            "description": "The parameters of the model",
                            "properties": {
                              "age": {
                                "description": "Age group of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "batchSize": {
                                "default": 1,
                                "description": "The batch size\nLess steps, and will increase the learning rate\n\nOnly available for Flux LoRA training",
                                "maximum": 4,
                                "minimum": 1,
                                "type": "number"
                              },
                              "classPrompt": {
                                "description": "The prompt to specify images in the same class as provided instance images\n\nDeprecated legacy training parameter.",
                                "type": "string"
                              },
                              "cloneType": {
                                "default": "instant",
                                "description": "Type of voice cloning: \"instant\" (fast) or \"professional\" (higher quality, requires captcha)\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "conceptPrompt": {
                                "description": "The prompt with identifier specifying the instance (or subject) of the class (example: \"a daiton dog\")\n\nDefault value varies depending on the model type. For Flux LoRA, the default is an empty string.",
                                "type": "string"
                              },
                              "gender": {
                                "description": "Gender of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "language": {
                                "default": "en",
                                "description": "Language of the audio samples (ISO 639-1 code)\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "learningRate": {
                                "default": 0.000005,
                                "description": "Initial learning rate (after the potential warmup period)\n\nDefault value varies depending on the model type. For Flux LoRA, the default is 0.0001.",
                                "exclusiveMinimum": true,
                                "minimum": 0,
                                "type": "number"
                              },
                              "learningRateTextEncoder": {
                                "default": 0.00005,
                                "description": "Initial learning rate (after the potential warmup period) for the text encoder\n\nMaximum [Flux LoRA: 0.001]\nDefault [Flux LoRA: 0.00001]\nMinimum [Flux LoRA: 0.000001]",
                                "exclusiveMinimum": true,
                                "maximum": 0.001,
                                "minimum": 0,
                                "type": "number"
                              },
                              "learningRateUnet": {
                                "default": 0.0005,
                                "description": "Initial learning rate (after the potential warmup period) for the UNet\n\nDeprecated legacy training parameter.",
                                "exclusiveMinimum": true,
                                "minimum": 0,
                                "type": "number"
                              },
                              "lrScheduler": {
                                "default": "constant",
                                "description": "The scheduler type to use (default: \"constant\")\n\nDeprecated legacy training parameter.",
                                "enum": [
                                  "constant",
                                  "constant-with-warmup",
                                  "cosine",
                                  "cosine-with-restarts",
                                  "linear",
                                  "polynomial"
                                ],
                                "type": "string"
                              },
                              "maxTrainSteps": {
                                "description": "Maximum number of training steps to execute (default: varies depending on the model type)\n\nDefault value varies depending on the model type:\n- For Flux: number of training images * 100\n\nMaximum value varies depending on the model type:\n- For Flux: [0, 10000]",
                                "maximum": 40000,
                                "minimum": 0,
                                "type": "number"
                              },
                              "nbEpochs": {
                                "default": 10,
                                "description": "The number of epochs to train for\n\nOnly available for Flux LoRA training",
                                "maximum": 30,
                                "minimum": 1,
                                "type": "number"
                              },
                              "nbRepeats": {
                                "default": 20,
                                "description": "The number of times to repeat the training\n\nOnly available for Flux LoRA training",
                                "maximum": 30,
                                "minimum": 1,
                                "type": "number"
                              },
                              "numTextTrainSteps": {
                                "default": 0,
                                "description": "The number of training steps for the text encoder\n\nDeprecated legacy training parameter.",
                                "maximum": 40000,
                                "minimum": 0,
                                "type": "number"
                              },
                              "numUNetTrainSteps": {
                                "default": 0,
                                "description": "The number of training steps for the UNet\n\nDeprecated legacy training parameter.",
                                "maximum": 40000,
                                "minimum": 0,
                                "type": "number"
                              },
                              "optimizeFor": {
                                "description": "Optimize the model training task for a specific type of input images. The available values are:\n- \"likeness\": optimize training for likeness or portrait (targets specific transformer blocks)\n- \"all\": train all transformer blocks\n- \"none\": train no specific transformer blocks\n\nThis parameter controls which double and single transformer blocks are trained\nduring the LoRA training process.\n\nOnly available for Flux LoRA training",
                                "enum": [
                                  "likeness"
                                ],
                                "type": "string"
                              },
                              "priorLossWeight": {
                                "default": 1,
                                "description": "The weight of prior preservation loss\n\nDeprecated legacy training parameter.",
                                "exclusiveMinimum": true,
                                "maximum": 1.7976931348623157,
                                "minimum": 0,
                                "type": "number"
                              },
                              "randomCrop": {
                                "default": false,
                                "description": "Whether to random crop or center crop images before resizing to the working resolution\n\nDeprecated legacy training parameter.",
                                "type": "boolean"
                              },
                              "randomCropRatio": {
                                "default": 0,
                                "description": "Ratio of random crops\n\nDeprecated legacy training parameter.",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "randomCropScale": {
                                "default": 1,
                                "description": "Scale of random crops\n\nDeprecated legacy training parameter.",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "rank": {
                                "default": 16,
                                "description": "The dimension of the LoRA update matrices\n\nOnly available for Flux LoRA and Musubi training\n\nDefault value varies depending on the model type:\n- For Flux: 16\n- For Musubi: 64\n\nEach trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])",
                                "maximum": 128,
                                "minimum": 2,
                                "type": "number"
                              },
                              "removeBackgroundNoise": {
                                "default": false,
                                "description": "Whether to remove background noise from audio samples before cloning.\nWhen enabled, each sample must be at least 5 seconds long.\n\nOnly available for ElevenLabs voice training",
                                "type": "boolean"
                              },
                              "samplePrompts": {
                                "default": [],
                                "description": "The prompts to use for each epoch\nOnly available for Flux LoRA training",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "sampleSourceImages": {
                                "default": [],
                                "description": "The sample prompt images (AssetIds) paired with samplePrompts\nOnly available for Flux LoRA training\nMust be the same length as samplePrompts",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "scaleLr": {
                                "default": false,
                                "description": "Whether to scale the learning rate\n\nNote: Legacy parameter, will be ignored\n\nDeprecated legacy training parameter.",
                                "type": "boolean"
                              },
                              "seed": {
                                "description": "Used to reproduce previous results. Default: randomly generated number.\n\nDeprecated legacy training parameter.",
                                "maximum": 9007199254740991,
                                "minimum": 0,
                                "type": "number"
                              },
                              "textEncoderTrainingRatio": {
                                "default": 0.2,
                                "description": "Whether to train the text encoder or not\n\nExample: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps\n\nNote: Legacy parameter, please use `numTextTrainSteps` and `numUNetTrainSteps`\n\nDeprecated legacy training parameter.",
                                "maximum": 0.99,
                                "minimum": 0,
                                "type": "number"
                              },
                              "validationFrequency": {
                                "default": 0,
                                "description": "Validation frequency. Cannot be greater than maxTrainSteps value\n\nDeprecated legacy training parameter.",
                                "minimum": 0,
                                "type": "number"
                              },
                              "validationPrompt": {
                                "default": "",
                                "description": "Validation prompt\n\nDeprecated legacy training parameter.",
                                "type": "string"
                              },
                              "voiceDescription": {
                                "description": "Description of the voice characteristics\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "wandbKey": {
                                "description": "The Weights And Bias key to use for logging. The maximum length is 40 characters",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "parentModelId": {
                            "description": "The id of the parent model",
                            "type": "string"
                          },
                          "performanceStats": {
                            "additionalProperties": false,
                            "description": "Aggregated performance stats",
                            "properties": {
                              "default": {
                                "description": "Default variant key for quick model comparison",
                                "type": "string"
                              },
                              "variants": {
                                "description": "Performance metrics per variant",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "Performance stats for a model variant",
                                  "properties": {
                                    "arenaScore": {
                                      "additionalProperties": false,
                                      "description": "External quality score from arena.ai leaderboard",
                                      "properties": {
                                        "arenaCategory": {
                                          "description": "Arena category (example: \"text_to_image\", \"image_to_video\")",
                                          "type": "string"
                                        },
                                        "arenaModelName": {
                                          "description": "Model name on arena.ai",
                                          "type": "string"
                                        },
                                        "fetchedAt": {
                                          "description": "When this score was last fetched (ISO date)",
                                          "type": "string"
                                        },
                                        "rank": {
                                          "description": "Rank in the arena category",
                                          "type": "number"
                                        },
                                        "rating": {
                                          "description": "ELO rating",
                                          "type": "number"
                                        },
                                        "ratingLower": {
                                          "description": "ELO rating confidence interval lower bound",
                                          "type": "number"
                                        },
                                        "ratingUpper": {
                                          "description": "ELO rating confidence interval upper bound",
                                          "type": "number"
                                        },
                                        "votes": {
                                          "description": "Number of human votes",
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "arenaCategory",
                                        "arenaModelName",
                                        "fetchedAt",
                                        "rank",
                                        "rating",
                                        "ratingLower",
                                        "ratingUpper",
                                        "votes"
                                      ],
                                      "type": "object"
                                    },
                                    "capability": {
                                      "description": "The generation capability (example: \"txt2img\", \"img2video\", \"txt2audio\")",
                                      "type": "string"
                                    },
                                    "computedAt": {
                                      "description": "When these stats were last computed (ISO date)",
                                      "type": "string"
                                    },
                                    "costPerAssetMaxCU": {
                                      "description": "Maximum cost per output asset (CU)",
                                      "type": "number"
                                    },
                                    "costPerAssetMinCU": {
                                      "description": "Minimum cost per output asset (CU)",
                                      "type": "number"
                                    },
                                    "costPerAssetP50CU": {
                                      "description": "Median cost per output asset (CU)",
                                      "type": "number"
                                    },
                                    "inferenceLatencyP50Sec": {
                                      "description": "Inference latency P50 per output asset (seconds)",
                                      "type": "number"
                                    },
                                    "inferenceLatencyP75Sec": {
                                      "description": "Inference latency P75 per output asset (seconds)",
                                      "type": "number"
                                    },
                                    "resolution": {
                                      "description": "The resolution bucket (example: \"0.5K\", \"1K\", \"2K\", \"4K\")",
                                      "type": "string"
                                    },
                                    "totalLatencyP50Sec": {
                                      "description": "Total latency P50 per output asset, including queue time (seconds)",
                                      "type": "number"
                                    },
                                    "totalLatencyP75Sec": {
                                      "description": "Total latency P75 per output asset, including queue time (seconds)",
                                      "type": "number"
                                    },
                                    "variantKey": {
                                      "description": "Unique variant identifier (example: \"txt2img:1K\", \"img2video:2K\", \"txt2audio\")",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "capability",
                                    "computedAt",
                                    "variantKey"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              }
                            },
                            "required": [
                              "variants"
                            ],
                            "type": "object"
                          },
                          "privacy": {
                            "default": "private",
                            "description": "The privacy of the model (default: private)",
                            "enum": [
                              "private",
                              "public",
                              "unlisted"
                            ],
                            "type": "string"
                          },
                          "promptEmbedding": {
                            "description": "Fine-tune the model's inferences with prompt embedding",
                            "type": "string"
                          },
                          "shortDescription": {
                            "description": "The model short description (example: \"This model generates highly detailed cinematic scenes.\")",
                            "type": "string"
                          },
                          "softDeletionOn": {
                            "description": "The date when the model will be soft deleted (only for Free plan)",
                            "type": "string"
                          },
                          "source": {
                            "description": "The source of the model",
                            "enum": [
                              "civitai",
                              "huggingface",
                              "other",
                              "scenario"
                            ],
                            "type": "string"
                          },
                          "status": {
                            "description": "The model status",
                            "enum": [
                              "copying",
                              "failed",
                              "new",
                              "trained",
                              "training",
                              "training-canceled"
                            ],
                            "type": "string"
                          },
                          "tags": {
                            "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "thumbnail": {
                            "additionalProperties": false,
                            "description": "A thumbnail for your model",
                            "properties": {
                              "assetId": {
                                "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "url": {
                                "description": "The url of the image used as a thumbnail for your model",
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "trainingImagePairs": {
                            "description": "Array of training image pairs",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "instruction": {
                                  "description": "The instruction for the image pair, source to target",
                                  "type": "string"
                                },
                                "sourceId": {
                                  "description": "The source asset ID (must be a training asset)",
                                  "type": "string"
                                },
                                "targetId": {
                                  "description": "The target asset ID (must be a training asset)",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "trainingImages": {
                            "description": "The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "automaticCaptioning": {
                                  "description": "Automatic captioning of the image",
                                  "type": "string"
                                },
                                "createdAt": {
                                  "description": "The training image upload date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                  "type": "string"
                                },
                                "description": {
                                  "description": "Description for the image",
                                  "type": "string"
                                },
                                "downloadUrl": {
                                  "description": "The URL of the image",
                                  "type": "string"
                                },
                                "id": {
                                  "description": "The training image ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                  "type": "string"
                                },
                                "name": {
                                  "description": "The original file name of the image (example: \"my-training-image.jpg\")",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "automaticCaptioning",
                                "createdAt",
                                "description",
                                "downloadUrl",
                                "id",
                                "name"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "trainingImagesNumber": {
                            "description": "The total number of training images",
                            "type": "number"
                          },
                          "trainingProgress": {
                            "additionalProperties": false,
                            "description": "Additional information about the training progress of the model",
                            "properties": {
                              "captchaImageUrl": {
                                "description": "Signed URL of the captcha image to read aloud during PVC voice cloning.\nOnly present when stage === 'pending-captcha'. Overwritten on each retry.",
                                "type": "string"
                              },
                              "position": {
                                "description": "Position of the job in the queue (ie. the number of job in the queue before this one)",
                                "type": "number"
                              },
                              "progress": {
                                "description": "The progress of the job",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "remainingTimeMs": {
                                "description": "The remaining time in milliseconds",
                                "type": "number"
                              },
                              "retryCount": {
                                "description": "Number of consecutive PVC step 2 / step 3 failures on this voice model.\nThe model is marked Failed when this reaches the platform's max retries.",
                                "type": "number"
                              },
                              "retryableError": {
                                "description": "Last recoverable failure message during PVC. Present when the model has\nbounced back to stage === 'ready-for-captcha' after a step 2 or step 3\nfailure (e.g. captcha rejected, time limit exceeded). Surface above the\nretry button so the user understands why they're back here.",
                                "type": "string"
                              },
                              "stage": {
                                "description": "The stage of the request",
                                "enum": [
                                  "pending",
                                  "pending-captcha",
                                  "queued-for-train",
                                  "ready-for-captcha",
                                  "running-train",
                                  "starting-train"
                                ],
                                "type": "string"
                              },
                              "startedAt": {
                                "description": "The timestamp in millisecond marking the start of the process",
                                "type": "number"
                              },
                              "updatedAt": {
                                "description": "Timestamp in milliseconds of the last time the training progress was updated",
                                "type": "number"
                              }
                            },
                            "required": [
                              "stage",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "trainingStats": {
                            "additionalProperties": false,
                            "description": "Additional information about the model's training",
                            "properties": {
                              "endedAt": {
                                "description": "The training end time as an ISO date string",
                                "type": "string"
                              },
                              "queueDuration": {
                                "description": "The training queued duration in seconds",
                                "type": "number"
                              },
                              "startedAt": {
                                "description": "The training start time as an ISO date string",
                                "type": "string"
                              },
                              "trainDuration": {
                                "description": "The training duration in seconds",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "type": {
                            "description": "The model type (example: \"flux.1-lora\")",
                            "enum": [
                              "custom",
                              "elevenlabs-voice",
                              "flux.1",
                              "flux.1-composition",
                              "flux.1-kontext-dev",
                              "flux.1-kontext-lora",
                              "flux.1-krea-dev",
                              "flux.1-krea-lora",
                              "flux.1-lora",
                              "flux.1-pro",
                              "flux.1.1-pro-ultra",
                              "flux.2-dev-edit-lora",
                              "flux.2-dev-lora",
                              "flux.2-klein-4b-edit-lora",
                              "flux.2-klein-4b-lora",
                              "flux.2-klein-9b-edit-lora",
                              "flux.2-klein-9b-lora",
                              "flux.2-klein-base-4b-edit-lora",
                              "flux.2-klein-base-4b-lora",
                              "flux.2-klein-base-9b-edit-lora",
                              "flux.2-klein-base-9b-lora",
                              "flux1.1-pro",
                              "gpt-image-1",
                              "qwen-image-2512-lora",
                              "qwen-image-edit-2509-lora",
                              "qwen-image-edit-2511-lora",
                              "qwen-image-edit-lora",
                              "qwen-image-lora",
                              "zimage-de-turbo-lora",
                              "zimage-lora",
                              "zimage-turbo-lora"
                            ],
                            "type": "string"
                          },
                          "uiConfig": {
                            "additionalProperties": false,
                            "description": "The UI configuration for the model",
                            "properties": {
                              "inputProperties": {
                                "additionalProperties": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "collapsed": {
                                      "type": "boolean"
                                    }
                                  },
                                  "type": "object"
                                },
                                "description": "Configuration for the input properties",
                                "type": "object"
                              },
                              "lorasComponent": {
                                "additionalProperties": false,
                                "description": "Configuration for the loras component",
                                "properties": {
                                  "label": {
                                    "description": "The label of the component",
                                    "type": "string"
                                  },
                                  "modelIdInput": {
                                    "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                    "type": "string"
                                  },
                                  "modelInput": {
                                    "description": "The input name of the model (model_array)",
                                    "type": "string"
                                  },
                                  "scaleInput": {
                                    "description": "The input name of the scale (number_array)",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label",
                                  "modelInput",
                                  "scaleInput"
                                ],
                                "type": "object"
                              },
                              "outputProperties": {
                                "additionalProperties": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "label": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "label"
                                  ],
                                  "type": "object"
                                },
                                "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                                "type": "object"
                              },
                              "presets": {
                                "description": "Configuration for the presets",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "fields": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "presets": {
                                      "additionalProperties": false,
                                      "type": "object"
                                    }
                                  },
                                  "required": [
                                    "fields",
                                    "presets"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "resolutionComponent": {
                                "additionalProperties": false,
                                "description": "Configuration for the resolution component",
                                "properties": {
                                  "heightInput": {
                                    "description": "The input name of the height",
                                    "type": "string"
                                  },
                                  "label": {
                                    "description": "The label of the component",
                                    "type": "string"
                                  },
                                  "presets": {
                                    "description": "The resolution presets",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "height": {
                                          "type": "number"
                                        },
                                        "label": {
                                          "type": "string"
                                        },
                                        "width": {
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "height",
                                        "label",
                                        "width"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "widthInput": {
                                    "description": "The input name of the width",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "heightInput",
                                  "label",
                                  "presets",
                                  "widthInput"
                                ],
                                "type": "object"
                              },
                              "selects": {
                                "additionalProperties": {
                                  "additionalProperties": false,
                                  "type": "object"
                                },
                                "description": "Configuration for the selects",
                                "type": "object"
                              },
                              "triggerGenerate": {
                                "additionalProperties": false,
                                "description": "Configuration for the trigger generate button",
                                "properties": {
                                  "after": {
                                    "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                    "type": "string"
                                  },
                                  "label": {
                                    "type": "string"
                                  },
                                  "position": {
                                    "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                    "enum": [
                                      "bottom",
                                      "top"
                                    ],
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              }
                            },
                            "type": "object"
                          },
                          "updatedAt": {
                            "description": "The model last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "userId": {
                            "description": "(Deprecated) The user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                            "type": "string"
                          }
                        },
                        "required": [
                          "capabilities",
                          "collectionIds",
                          "createdAt",
                          "custom",
                          "exampleAssetIds",
                          "id",
                          "privacy",
                          "source",
                          "status",
                          "tags",
                          "trainingImagesNumber",
                          "type",
                          "updatedAt"
                        ],
                        "type": "object"
                      }
                    },
                    "nextPaginationToken": {
                      "type": "string",
                      "description": "A token to query the next page of models"
                    }
                  },
                  "required": [
                    "models"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "post": {
        "operationId": "PostModels",
        "description": "Create a new model",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "model": {
                      "additionalProperties": false,
                      "properties": {
                        "accessRestrictions": {
                          "description": "The access restrictions of the model\n0: Free plan\n25: Starter plan\n50: Pro plan\n75: Max plan\n100: Enterprise plan",
                          "enum": [
                            0,
                            100,
                            25,
                            50,
                            75
                          ],
                          "type": "number"
                        },
                        "authorId": {
                          "description": "The author user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "capabilities": {
                          "description": "List of model capabilities (example: [\"txt2img\", \"img2img\", \"txt2img_ip_adapter\", ...])",
                          "items": {
                            "enum": [
                              "3d23d",
                              "audio2audio",
                              "audio2txt",
                              "audio2video",
                              "controlnet",
                              "controlnet_img2img",
                              "controlnet_inpaint",
                              "controlnet_inpaint_ip_adapter",
                              "controlnet_ip_adapter",
                              "controlnet_reference",
                              "controlnet_texture",
                              "img23d",
                              "img2img",
                              "img2img_ip_adapter",
                              "img2img_texture",
                              "img2txt",
                              "img2video",
                              "inpaint",
                              "inpaint_ip_adapter",
                              "outpaint",
                              "reference",
                              "reference_texture",
                              "txt23d",
                              "txt2audio",
                              "txt2img",
                              "txt2img_ip_adapter",
                              "txt2img_texture",
                              "txt2txt",
                              "txt2video",
                              "video23d",
                              "video2audio",
                              "video2img",
                              "video2txt",
                              "video2video"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "class": {
                          "additionalProperties": false,
                          "description": "The class of the model",
                          "properties": {
                            "category": {
                              "description": "The category slug of the class (example: \"art-style\")",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The concept prompt of the class (example: \"a sks character design\")",
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The model ID of the class. Only available for legacy models.",
                              "type": "string"
                            },
                            "name": {
                              "description": "The class name (example: \"Character Design\")",
                              "type": "string"
                            },
                            "prompt": {
                              "description": "The class prompt (example: \"a character design\")",
                              "type": "string"
                            },
                            "slug": {
                              "description": "The class slug (example: \"art-style-character-design\")",
                              "type": "string"
                            },
                            "status": {
                              "description": "The class status (only published classes are listed, but unpublished classes can still appear in existing models)",
                              "enum": [
                                "published",
                                "unpublished"
                              ],
                              "type": "string"
                            },
                            "thumbnails": {
                              "description": "Some example images URLs to showcase the class",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "category",
                            "conceptPrompt",
                            "modelId",
                            "name",
                            "prompt",
                            "slug",
                            "status",
                            "thumbnails"
                          ],
                          "type": "object"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this model belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "compliantModelIds": {
                          "description": "List of base model IDs compliant with the model (example: [\"flux.1-dev\", \"flux.1-schnell\"])\nThis attribute is mainly used for Flux LoRA models",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "concepts": {
                          "description": "The concepts is required for the type model: composition",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The model creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "custom": {
                          "description": "Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint",
                          "type": "boolean"
                        },
                        "deletedAt": {
                          "description": "The model deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted models, listed with `status=deleted`.",
                          "type": "string"
                        },
                        "disableRefund": {
                          "description": "When true, credits spent on a generation with this model are not\nautomatically refunded if the generation fails. Absent or false means\nfailed generations are refunded as usual.",
                          "type": "boolean"
                        },
                        "epoch": {
                          "description": "The epoch of the model. Only available for Flux Lora Trained models.\nIf not set, uses the final model epoch (latest)",
                          "type": "string"
                        },
                        "epochs": {
                          "description": "The epochs of the model. Only available for Flux Lora Trained models.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "assets": {
                                "description": "The assets of the epoch if sample prompts as been supplied during training",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "assetId": {
                                      "description": "The AssetId of the image during training (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                      "type": "string"
                                    },
                                    "url": {
                                      "description": "The url of the asset",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "assetId",
                                    "url"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "epoch": {
                                "description": "The epoch hash to identify the epoch",
                                "type": "string"
                              }
                            },
                            "required": [
                              "epoch"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "exampleAssetIds": {
                          "description": "List of all example asset IDs setup by the model owner",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "id": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "inputs": {
                          "description": "The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}",
                          "items": {
                            "additionalProperties": false,
                            "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                            "properties": {
                              "allowedValues": {
                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                "items": {},
                                "type": "array"
                              },
                              "backgroundBehavior": {
                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                "enum": [
                                  "opaque",
                                  "transparent"
                                ],
                                "type": "string"
                              },
                              "color": {
                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "costImpact": {
                                "description": "Whether this input affects the model's cost calculation",
                                "type": "boolean"
                              },
                              "default": {
                                "description": "The default value for the input"
                              },
                              "description": {
                                "description": "Help text displayed in the UI to provide additional information about the input",
                                "type": "string"
                              },
                              "group": {
                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                "type": "string"
                              },
                              "hint": {
                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                "type": "string"
                              },
                              "inputs": {
                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                "items": {
                                  "additionalProperties": true,
                                  "properties": {},
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "kind": {
                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "label": {
                                "description": "The label displayed in the UI for this input",
                                "type": "string"
                              },
                              "maskFrom": {
                                "description": "The name of the file input field to use as the mask source",
                                "type": "string"
                              },
                              "max": {
                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                "type": "number"
                              },
                              "maxDuration": {
                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "maxLength": {
                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "maxSize": {
                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                "type": "number"
                              },
                              "min": {
                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                "type": "number"
                              },
                              "minDuration": {
                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "minLength": {
                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "modelTypes": {
                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                "items": {
                                  "enum": [
                                    "custom",
                                    "elevenlabs-voice",
                                    "flux.1",
                                    "flux.1-composition",
                                    "flux.1-kontext-dev",
                                    "flux.1-kontext-lora",
                                    "flux.1-krea-dev",
                                    "flux.1-krea-lora",
                                    "flux.1-lora",
                                    "flux.1-pro",
                                    "flux.1.1-pro-ultra",
                                    "flux.2-dev-edit-lora",
                                    "flux.2-dev-lora",
                                    "flux.2-klein-4b-edit-lora",
                                    "flux.2-klein-4b-lora",
                                    "flux.2-klein-9b-edit-lora",
                                    "flux.2-klein-9b-lora",
                                    "flux.2-klein-base-4b-edit-lora",
                                    "flux.2-klein-base-4b-lora",
                                    "flux.2-klein-base-9b-edit-lora",
                                    "flux.2-klein-base-9b-lora",
                                    "flux1.1-pro",
                                    "gpt-image-1",
                                    "qwen-image-2512-lora",
                                    "qwen-image-edit-2509-lora",
                                    "qwen-image-edit-2511-lora",
                                    "qwen-image-edit-lora",
                                    "qwen-image-lora",
                                    "zimage-de-turbo-lora",
                                    "zimage-lora",
                                    "zimage-turbo-lora"
                                  ],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "name": {
                                "description": "The name that must be user to call the model through the API",
                                "type": "string"
                              },
                              "parent": {
                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                "type": "boolean"
                              },
                              "placeholder": {
                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "promptSpark": {
                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "required": {
                                "additionalProperties": false,
                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                "properties": {
                                  "always": {
                                    "description": "Whether the input is always required",
                                    "type": "boolean"
                                  },
                                  "conditional": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when other inputs have one of the listed values",
                                    "properties": {
                                      "operator": {
                                        "default": "and",
                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                        "enum": [
                                          "and",
                                          "or"
                                        ],
                                        "type": "string"
                                      },
                                      "values": {
                                        "additionalProperties": false,
                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "values"
                                    ],
                                    "type": "object"
                                  },
                                  "ifDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  },
                                  "ifNotDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "step": {
                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                "minimum": 1,
                                "type": "number"
                              },
                              "type": {
                                "description": "The data type of the input",
                                "enum": [
                                  "boolean",
                                  "file",
                                  "file_array",
                                  "inputs_array",
                                  "model",
                                  "model_array",
                                  "number",
                                  "number_array",
                                  "string",
                                  "string_array"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "name",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "jobId": {
                          "description": "The ID of the job that trained the model, returned to the model owner only\n(example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "modelKeyword": {
                          "description": "The model keyword, this is a legacy parameter, please use conceptPrompt in parameters",
                          "type": "string"
                        },
                        "name": {
                          "description": "The model name (example: \"Cinematic Realism\")",
                          "type": "string"
                        },
                        "negativePromptEmbedding": {
                          "description": "Fine-tune the model's inferences with negative prompt embedding",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "parameters": {
                          "additionalProperties": false,
                          "description": "The parameters of the model",
                          "properties": {
                            "age": {
                              "description": "Age group of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "batchSize": {
                              "default": 1,
                              "description": "The batch size\nLess steps, and will increase the learning rate\n\nOnly available for Flux LoRA training",
                              "maximum": 4,
                              "minimum": 1,
                              "type": "number"
                            },
                            "classPrompt": {
                              "description": "The prompt to specify images in the same class as provided instance images\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "cloneType": {
                              "default": "instant",
                              "description": "Type of voice cloning: \"instant\" (fast) or \"professional\" (higher quality, requires captcha)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The prompt with identifier specifying the instance (or subject) of the class (example: \"a daiton dog\")\n\nDefault value varies depending on the model type. For Flux LoRA, the default is an empty string.",
                              "type": "string"
                            },
                            "gender": {
                              "description": "Gender of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "language": {
                              "default": "en",
                              "description": "Language of the audio samples (ISO 639-1 code)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "learningRate": {
                              "default": 0.000005,
                              "description": "Initial learning rate (after the potential warmup period)\n\nDefault value varies depending on the model type. For Flux LoRA, the default is 0.0001.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateTextEncoder": {
                              "default": 0.00005,
                              "description": "Initial learning rate (after the potential warmup period) for the text encoder\n\nMaximum [Flux LoRA: 0.001]\nDefault [Flux LoRA: 0.00001]\nMinimum [Flux LoRA: 0.000001]",
                              "exclusiveMinimum": true,
                              "maximum": 0.001,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateUnet": {
                              "default": 0.0005,
                              "description": "Initial learning rate (after the potential warmup period) for the UNet\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "lrScheduler": {
                              "default": "constant",
                              "description": "The scheduler type to use (default: \"constant\")\n\nDeprecated legacy training parameter.",
                              "enum": [
                                "constant",
                                "constant-with-warmup",
                                "cosine",
                                "cosine-with-restarts",
                                "linear",
                                "polynomial"
                              ],
                              "type": "string"
                            },
                            "maxTrainSteps": {
                              "description": "Maximum number of training steps to execute (default: varies depending on the model type)\n\nDefault value varies depending on the model type:\n- For Flux: number of training images * 100\n\nMaximum value varies depending on the model type:\n- For Flux: [0, 10000]",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "nbEpochs": {
                              "default": 10,
                              "description": "The number of epochs to train for\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "nbRepeats": {
                              "default": 20,
                              "description": "The number of times to repeat the training\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "numTextTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the text encoder\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numUNetTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the UNet\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "optimizeFor": {
                              "description": "Optimize the model training task for a specific type of input images. The available values are:\n- \"likeness\": optimize training for likeness or portrait (targets specific transformer blocks)\n- \"all\": train all transformer blocks\n- \"none\": train no specific transformer blocks\n\nThis parameter controls which double and single transformer blocks are trained\nduring the LoRA training process.\n\nOnly available for Flux LoRA training",
                              "enum": [
                                "likeness"
                              ],
                              "type": "string"
                            },
                            "priorLossWeight": {
                              "default": 1,
                              "description": "The weight of prior preservation loss\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "maximum": 1.7976931348623157,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCrop": {
                              "default": false,
                              "description": "Whether to random crop or center crop images before resizing to the working resolution\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "randomCropRatio": {
                              "default": 0,
                              "description": "Ratio of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCropScale": {
                              "default": 1,
                              "description": "Scale of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "rank": {
                              "default": 16,
                              "description": "The dimension of the LoRA update matrices\n\nOnly available for Flux LoRA and Musubi training\n\nDefault value varies depending on the model type:\n- For Flux: 16\n- For Musubi: 64\n\nEach trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])",
                              "maximum": 128,
                              "minimum": 2,
                              "type": "number"
                            },
                            "removeBackgroundNoise": {
                              "default": false,
                              "description": "Whether to remove background noise from audio samples before cloning.\nWhen enabled, each sample must be at least 5 seconds long.\n\nOnly available for ElevenLabs voice training",
                              "type": "boolean"
                            },
                            "samplePrompts": {
                              "default": [],
                              "description": "The prompts to use for each epoch\nOnly available for Flux LoRA training",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "sampleSourceImages": {
                              "default": [],
                              "description": "The sample prompt images (AssetIds) paired with samplePrompts\nOnly available for Flux LoRA training\nMust be the same length as samplePrompts",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "scaleLr": {
                              "default": false,
                              "description": "Whether to scale the learning rate\n\nNote: Legacy parameter, will be ignored\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "seed": {
                              "description": "Used to reproduce previous results. Default: randomly generated number.\n\nDeprecated legacy training parameter.",
                              "maximum": 9007199254740991,
                              "minimum": 0,
                              "type": "number"
                            },
                            "textEncoderTrainingRatio": {
                              "default": 0.2,
                              "description": "Whether to train the text encoder or not\n\nExample: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps\n\nNote: Legacy parameter, please use `numTextTrainSteps` and `numUNetTrainSteps`\n\nDeprecated legacy training parameter.",
                              "maximum": 0.99,
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationFrequency": {
                              "default": 0,
                              "description": "Validation frequency. Cannot be greater than maxTrainSteps value\n\nDeprecated legacy training parameter.",
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationPrompt": {
                              "default": "",
                              "description": "Validation prompt\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "voiceDescription": {
                              "description": "Description of the voice characteristics\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "wandbKey": {
                              "description": "The Weights And Bias key to use for logging. The maximum length is 40 characters",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "parentModelId": {
                          "description": "The id of the parent model",
                          "type": "string"
                        },
                        "performanceStats": {
                          "additionalProperties": false,
                          "description": "Aggregated performance stats",
                          "properties": {
                            "default": {
                              "description": "Default variant key for quick model comparison",
                              "type": "string"
                            },
                            "variants": {
                              "description": "Performance metrics per variant",
                              "items": {
                                "additionalProperties": false,
                                "description": "Performance stats for a model variant",
                                "properties": {
                                  "arenaScore": {
                                    "additionalProperties": false,
                                    "description": "External quality score from arena.ai leaderboard",
                                    "properties": {
                                      "arenaCategory": {
                                        "description": "Arena category (example: \"text_to_image\", \"image_to_video\")",
                                        "type": "string"
                                      },
                                      "arenaModelName": {
                                        "description": "Model name on arena.ai",
                                        "type": "string"
                                      },
                                      "fetchedAt": {
                                        "description": "When this score was last fetched (ISO date)",
                                        "type": "string"
                                      },
                                      "rank": {
                                        "description": "Rank in the arena category",
                                        "type": "number"
                                      },
                                      "rating": {
                                        "description": "ELO rating",
                                        "type": "number"
                                      },
                                      "ratingLower": {
                                        "description": "ELO rating confidence interval lower bound",
                                        "type": "number"
                                      },
                                      "ratingUpper": {
                                        "description": "ELO rating confidence interval upper bound",
                                        "type": "number"
                                      },
                                      "votes": {
                                        "description": "Number of human votes",
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "arenaCategory",
                                      "arenaModelName",
                                      "fetchedAt",
                                      "rank",
                                      "rating",
                                      "ratingLower",
                                      "ratingUpper",
                                      "votes"
                                    ],
                                    "type": "object"
                                  },
                                  "capability": {
                                    "description": "The generation capability (example: \"txt2img\", \"img2video\", \"txt2audio\")",
                                    "type": "string"
                                  },
                                  "computedAt": {
                                    "description": "When these stats were last computed (ISO date)",
                                    "type": "string"
                                  },
                                  "costPerAssetMaxCU": {
                                    "description": "Maximum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetMinCU": {
                                    "description": "Minimum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetP50CU": {
                                    "description": "Median cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP50Sec": {
                                    "description": "Inference latency P50 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP75Sec": {
                                    "description": "Inference latency P75 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "resolution": {
                                    "description": "The resolution bucket (example: \"0.5K\", \"1K\", \"2K\", \"4K\")",
                                    "type": "string"
                                  },
                                  "totalLatencyP50Sec": {
                                    "description": "Total latency P50 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "totalLatencyP75Sec": {
                                    "description": "Total latency P75 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "variantKey": {
                                    "description": "Unique variant identifier (example: \"txt2img:1K\", \"img2video:2K\", \"txt2audio\")",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "capability",
                                  "computedAt",
                                  "variantKey"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "variants"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "default": "private",
                          "description": "The privacy of the model (default: private)",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "promptEmbedding": {
                          "description": "Fine-tune the model's inferences with prompt embedding",
                          "type": "string"
                        },
                        "shortDescription": {
                          "description": "The model short description (example: \"This model generates highly detailed cinematic scenes.\")",
                          "type": "string"
                        },
                        "softDeletionOn": {
                          "description": "The date when the model will be soft deleted (only for Free plan)",
                          "type": "string"
                        },
                        "source": {
                          "description": "The source of the model",
                          "enum": [
                            "civitai",
                            "huggingface",
                            "other",
                            "scenario"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The model status",
                          "enum": [
                            "copying",
                            "failed",
                            "new",
                            "trained",
                            "training",
                            "training-canceled"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "A thumbnail for your model",
                          "properties": {
                            "assetId": {
                              "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                              "type": "string"
                            },
                            "url": {
                              "description": "The url of the image used as a thumbnail for your model",
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "trainingImagePairs": {
                          "description": "Array of training image pairs",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "instruction": {
                                "description": "The instruction for the image pair, source to target",
                                "type": "string"
                              },
                              "sourceId": {
                                "description": "The source asset ID (must be a training asset)",
                                "type": "string"
                              },
                              "targetId": {
                                "description": "The target asset ID (must be a training asset)",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImages": {
                          "description": "The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "automaticCaptioning": {
                                "description": "Automatic captioning of the image",
                                "type": "string"
                              },
                              "createdAt": {
                                "description": "The training image upload date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "description": {
                                "description": "Description for the image",
                                "type": "string"
                              },
                              "downloadUrl": {
                                "description": "The URL of the image",
                                "type": "string"
                              },
                              "id": {
                                "description": "The training image ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "name": {
                                "description": "The original file name of the image (example: \"my-training-image.jpg\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "automaticCaptioning",
                              "createdAt",
                              "description",
                              "downloadUrl",
                              "id",
                              "name"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImagesNumber": {
                          "description": "The total number of training images",
                          "type": "number"
                        },
                        "trainingProgress": {
                          "additionalProperties": false,
                          "description": "Additional information about the training progress of the model",
                          "properties": {
                            "captchaImageUrl": {
                              "description": "Signed URL of the captcha image to read aloud during PVC voice cloning.\nOnly present when stage === 'pending-captcha'. Overwritten on each retry.",
                              "type": "string"
                            },
                            "position": {
                              "description": "Position of the job in the queue (ie. the number of job in the queue before this one)",
                              "type": "number"
                            },
                            "progress": {
                              "description": "The progress of the job",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "remainingTimeMs": {
                              "description": "The remaining time in milliseconds",
                              "type": "number"
                            },
                            "retryCount": {
                              "description": "Number of consecutive PVC step 2 / step 3 failures on this voice model.\nThe model is marked Failed when this reaches the platform's max retries.",
                              "type": "number"
                            },
                            "retryableError": {
                              "description": "Last recoverable failure message during PVC. Present when the model has\nbounced back to stage === 'ready-for-captcha' after a step 2 or step 3\nfailure (e.g. captcha rejected, time limit exceeded). Surface above the\nretry button so the user understands why they're back here.",
                              "type": "string"
                            },
                            "stage": {
                              "description": "The stage of the request",
                              "enum": [
                                "pending",
                                "pending-captcha",
                                "queued-for-train",
                                "ready-for-captcha",
                                "running-train",
                                "starting-train"
                              ],
                              "type": "string"
                            },
                            "startedAt": {
                              "description": "The timestamp in millisecond marking the start of the process",
                              "type": "number"
                            },
                            "updatedAt": {
                              "description": "Timestamp in milliseconds of the last time the training progress was updated",
                              "type": "number"
                            }
                          },
                          "required": [
                            "stage",
                            "updatedAt"
                          ],
                          "type": "object"
                        },
                        "trainingStats": {
                          "additionalProperties": false,
                          "description": "Additional information about the model's training",
                          "properties": {
                            "endedAt": {
                              "description": "The training end time as an ISO date string",
                              "type": "string"
                            },
                            "queueDuration": {
                              "description": "The training queued duration in seconds",
                              "type": "number"
                            },
                            "startedAt": {
                              "description": "The training start time as an ISO date string",
                              "type": "string"
                            },
                            "trainDuration": {
                              "description": "The training duration in seconds",
                              "type": "number"
                            }
                          },
                          "type": "object"
                        },
                        "type": {
                          "description": "The model type (example: \"flux.1-lora\")",
                          "enum": [
                            "custom",
                            "elevenlabs-voice",
                            "flux.1",
                            "flux.1-composition",
                            "flux.1-kontext-dev",
                            "flux.1-kontext-lora",
                            "flux.1-krea-dev",
                            "flux.1-krea-lora",
                            "flux.1-lora",
                            "flux.1-pro",
                            "flux.1.1-pro-ultra",
                            "flux.2-dev-edit-lora",
                            "flux.2-dev-lora",
                            "flux.2-klein-4b-edit-lora",
                            "flux.2-klein-4b-lora",
                            "flux.2-klein-9b-edit-lora",
                            "flux.2-klein-9b-lora",
                            "flux.2-klein-base-4b-edit-lora",
                            "flux.2-klein-base-4b-lora",
                            "flux.2-klein-base-9b-edit-lora",
                            "flux.2-klein-base-9b-lora",
                            "flux1.1-pro",
                            "gpt-image-1",
                            "qwen-image-2512-lora",
                            "qwen-image-edit-2509-lora",
                            "qwen-image-edit-2511-lora",
                            "qwen-image-edit-lora",
                            "qwen-image-lora",
                            "zimage-de-turbo-lora",
                            "zimage-lora",
                            "zimage-turbo-lora"
                          ],
                          "type": "string"
                        },
                        "uiConfig": {
                          "additionalProperties": false,
                          "description": "The UI configuration for the model",
                          "properties": {
                            "inputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "collapsed": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object"
                              },
                              "description": "Configuration for the input properties",
                              "type": "object"
                            },
                            "lorasComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the loras component",
                              "properties": {
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "modelIdInput": {
                                  "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                  "type": "string"
                                },
                                "modelInput": {
                                  "description": "The input name of the model (model_array)",
                                  "type": "string"
                                },
                                "scaleInput": {
                                  "description": "The input name of the scale (number_array)",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label",
                                "modelInput",
                                "scaleInput"
                              ],
                              "type": "object"
                            },
                            "outputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              },
                              "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                              "type": "object"
                            },
                            "presets": {
                              "description": "Configuration for the presets",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "fields": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "presets": {
                                    "additionalProperties": false,
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "fields",
                                  "presets"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "resolutionComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the resolution component",
                              "properties": {
                                "heightInput": {
                                  "description": "The input name of the height",
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "presets": {
                                  "description": "The resolution presets",
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "height": {
                                        "type": "number"
                                      },
                                      "label": {
                                        "type": "string"
                                      },
                                      "width": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "height",
                                      "label",
                                      "width"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "widthInput": {
                                  "description": "The input name of the width",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "heightInput",
                                "label",
                                "presets",
                                "widthInput"
                              ],
                              "type": "object"
                            },
                            "selects": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "type": "object"
                              },
                              "description": "Configuration for the selects",
                              "type": "object"
                            },
                            "triggerGenerate": {
                              "additionalProperties": false,
                              "description": "Configuration for the trigger generate button",
                              "properties": {
                                "after": {
                                  "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "position": {
                                  "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                  "enum": [
                                    "bottom",
                                    "top"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label"
                              ],
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The model last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "userId": {
                          "description": "(Deprecated) The user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "capabilities",
                        "collectionIds",
                        "createdAt",
                        "custom",
                        "exampleAssetIds",
                        "id",
                        "privacy",
                        "source",
                        "status",
                        "tags",
                        "trainingImagesNumber",
                        "type",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "model"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "baseModelId": {
                    "description": "The ID of the base model to use as a starting point for the training (example: \"flux.1-dev\")\n\nValue is automatically set based on the model's type. In case of doubt leave it empty.",
                    "type": "string"
                  },
                  "classSlug": {
                    "description": "The slug of the class you want to use (ex: \"characters-npcs-mobs-characters\"). Set to null to unset the class",
                    "pattern": "^[a-z0-9-]+$",
                    "type": "string"
                  },
                  "collectionIds": {
                    "description": "List of collection IDs to add the model to",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "concepts": {
                    "description": "The concepts is required for composition models. With one or more loras\n\nOnly applicable to Flux based models.",
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "name": {
                    "description": "The model's name (ex: \"Cinematic Realism\").\n\nIf not set, the model's name will be automatically generated when starting training based on training data.",
                    "maxLength": 64,
                    "type": "string"
                  },
                  "shortDescription": {
                    "description": "The model's short description (ex: \"This model generates highly detailed cinematic scenes.\").\n\nIf not set, the model's short description will be automatically generated when starting training based on training data.",
                    "maxLength": 256,
                    "type": "string"
                  },
                  "type": {
                    "description": "The model's type (ex: \"flux.1-lora\").\n\nThe type can only be changed if the model has the \"new\" status.",
                    "enum": [
                      "custom",
                      "elevenlabs-voice",
                      "flux.1",
                      "flux.1-composition",
                      "flux.1-kontext-dev",
                      "flux.1-kontext-lora",
                      "flux.1-krea-dev",
                      "flux.1-krea-lora",
                      "flux.1-lora",
                      "flux.1-pro",
                      "flux.1.1-pro-ultra",
                      "flux.2-dev-edit-lora",
                      "flux.2-dev-lora",
                      "flux.2-klein-4b-edit-lora",
                      "flux.2-klein-4b-lora",
                      "flux.2-klein-9b-edit-lora",
                      "flux.2-klein-9b-lora",
                      "flux.2-klein-base-4b-edit-lora",
                      "flux.2-klein-base-4b-lora",
                      "flux.2-klein-base-9b-edit-lora",
                      "flux.2-klein-base-9b-lora",
                      "flux1.1-pro",
                      "gpt-image-1",
                      "qwen-image-2512-lora",
                      "qwen-image-edit-2509-lora",
                      "qwen-image-edit-2511-lora",
                      "qwen-image-edit-lora",
                      "qwen-image-lora",
                      "zimage-de-turbo-lora",
                      "zimage-lora",
                      "zimage-turbo-lora"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/models/{modelId}": {
      "put": {
        "operationId": "PutModelsByModelId",
        "description": "Update the given `modelId`",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The model's `modelId` to update",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "model": {
                      "additionalProperties": false,
                      "properties": {
                        "accessRestrictions": {
                          "description": "The access restrictions of the model\n0: Free plan\n25: Starter plan\n50: Pro plan\n75: Max plan\n100: Enterprise plan",
                          "enum": [
                            0,
                            100,
                            25,
                            50,
                            75
                          ],
                          "type": "number"
                        },
                        "authorId": {
                          "description": "The author user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "capabilities": {
                          "description": "List of model capabilities (example: [\"txt2img\", \"img2img\", \"txt2img_ip_adapter\", ...])",
                          "items": {
                            "enum": [
                              "3d23d",
                              "audio2audio",
                              "audio2txt",
                              "audio2video",
                              "controlnet",
                              "controlnet_img2img",
                              "controlnet_inpaint",
                              "controlnet_inpaint_ip_adapter",
                              "controlnet_ip_adapter",
                              "controlnet_reference",
                              "controlnet_texture",
                              "img23d",
                              "img2img",
                              "img2img_ip_adapter",
                              "img2img_texture",
                              "img2txt",
                              "img2video",
                              "inpaint",
                              "inpaint_ip_adapter",
                              "outpaint",
                              "reference",
                              "reference_texture",
                              "txt23d",
                              "txt2audio",
                              "txt2img",
                              "txt2img_ip_adapter",
                              "txt2img_texture",
                              "txt2txt",
                              "txt2video",
                              "video23d",
                              "video2audio",
                              "video2img",
                              "video2txt",
                              "video2video"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "class": {
                          "additionalProperties": false,
                          "description": "The class of the model",
                          "properties": {
                            "category": {
                              "description": "The category slug of the class (example: \"art-style\")",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The concept prompt of the class (example: \"a sks character design\")",
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The model ID of the class. Only available for legacy models.",
                              "type": "string"
                            },
                            "name": {
                              "description": "The class name (example: \"Character Design\")",
                              "type": "string"
                            },
                            "prompt": {
                              "description": "The class prompt (example: \"a character design\")",
                              "type": "string"
                            },
                            "slug": {
                              "description": "The class slug (example: \"art-style-character-design\")",
                              "type": "string"
                            },
                            "status": {
                              "description": "The class status (only published classes are listed, but unpublished classes can still appear in existing models)",
                              "enum": [
                                "published",
                                "unpublished"
                              ],
                              "type": "string"
                            },
                            "thumbnails": {
                              "description": "Some example images URLs to showcase the class",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "category",
                            "conceptPrompt",
                            "modelId",
                            "name",
                            "prompt",
                            "slug",
                            "status",
                            "thumbnails"
                          ],
                          "type": "object"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this model belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "compliantModelIds": {
                          "description": "List of base model IDs compliant with the model (example: [\"flux.1-dev\", \"flux.1-schnell\"])\nThis attribute is mainly used for Flux LoRA models",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "concepts": {
                          "description": "The concepts is required for the type model: composition",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The model creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "custom": {
                          "description": "Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint",
                          "type": "boolean"
                        },
                        "deletedAt": {
                          "description": "The model deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted models, listed with `status=deleted`.",
                          "type": "string"
                        },
                        "disableRefund": {
                          "description": "When true, credits spent on a generation with this model are not\nautomatically refunded if the generation fails. Absent or false means\nfailed generations are refunded as usual.",
                          "type": "boolean"
                        },
                        "epoch": {
                          "description": "The epoch of the model. Only available for Flux Lora Trained models.\nIf not set, uses the final model epoch (latest)",
                          "type": "string"
                        },
                        "epochs": {
                          "description": "The epochs of the model. Only available for Flux Lora Trained models.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "assets": {
                                "description": "The assets of the epoch if sample prompts as been supplied during training",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "assetId": {
                                      "description": "The AssetId of the image during training (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                      "type": "string"
                                    },
                                    "url": {
                                      "description": "The url of the asset",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "assetId",
                                    "url"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "epoch": {
                                "description": "The epoch hash to identify the epoch",
                                "type": "string"
                              }
                            },
                            "required": [
                              "epoch"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "exampleAssetIds": {
                          "description": "List of all example asset IDs setup by the model owner",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "id": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "inputs": {
                          "description": "The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}",
                          "items": {
                            "additionalProperties": false,
                            "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                            "properties": {
                              "allowedValues": {
                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                "items": {},
                                "type": "array"
                              },
                              "backgroundBehavior": {
                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                "enum": [
                                  "opaque",
                                  "transparent"
                                ],
                                "type": "string"
                              },
                              "color": {
                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "costImpact": {
                                "description": "Whether this input affects the model's cost calculation",
                                "type": "boolean"
                              },
                              "default": {
                                "description": "The default value for the input"
                              },
                              "description": {
                                "description": "Help text displayed in the UI to provide additional information about the input",
                                "type": "string"
                              },
                              "group": {
                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                "type": "string"
                              },
                              "hint": {
                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                "type": "string"
                              },
                              "inputs": {
                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                "items": {
                                  "additionalProperties": true,
                                  "properties": {},
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "kind": {
                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "label": {
                                "description": "The label displayed in the UI for this input",
                                "type": "string"
                              },
                              "maskFrom": {
                                "description": "The name of the file input field to use as the mask source",
                                "type": "string"
                              },
                              "max": {
                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                "type": "number"
                              },
                              "maxDuration": {
                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "maxLength": {
                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "maxSize": {
                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                "type": "number"
                              },
                              "min": {
                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                "type": "number"
                              },
                              "minDuration": {
                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "minLength": {
                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "modelTypes": {
                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                "items": {
                                  "enum": [
                                    "custom",
                                    "elevenlabs-voice",
                                    "flux.1",
                                    "flux.1-composition",
                                    "flux.1-kontext-dev",
                                    "flux.1-kontext-lora",
                                    "flux.1-krea-dev",
                                    "flux.1-krea-lora",
                                    "flux.1-lora",
                                    "flux.1-pro",
                                    "flux.1.1-pro-ultra",
                                    "flux.2-dev-edit-lora",
                                    "flux.2-dev-lora",
                                    "flux.2-klein-4b-edit-lora",
                                    "flux.2-klein-4b-lora",
                                    "flux.2-klein-9b-edit-lora",
                                    "flux.2-klein-9b-lora",
                                    "flux.2-klein-base-4b-edit-lora",
                                    "flux.2-klein-base-4b-lora",
                                    "flux.2-klein-base-9b-edit-lora",
                                    "flux.2-klein-base-9b-lora",
                                    "flux1.1-pro",
                                    "gpt-image-1",
                                    "qwen-image-2512-lora",
                                    "qwen-image-edit-2509-lora",
                                    "qwen-image-edit-2511-lora",
                                    "qwen-image-edit-lora",
                                    "qwen-image-lora",
                                    "zimage-de-turbo-lora",
                                    "zimage-lora",
                                    "zimage-turbo-lora"
                                  ],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "name": {
                                "description": "The name that must be user to call the model through the API",
                                "type": "string"
                              },
                              "parent": {
                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                "type": "boolean"
                              },
                              "placeholder": {
                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "promptSpark": {
                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "required": {
                                "additionalProperties": false,
                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                "properties": {
                                  "always": {
                                    "description": "Whether the input is always required",
                                    "type": "boolean"
                                  },
                                  "conditional": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when other inputs have one of the listed values",
                                    "properties": {
                                      "operator": {
                                        "default": "and",
                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                        "enum": [
                                          "and",
                                          "or"
                                        ],
                                        "type": "string"
                                      },
                                      "values": {
                                        "additionalProperties": false,
                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "values"
                                    ],
                                    "type": "object"
                                  },
                                  "ifDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  },
                                  "ifNotDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "step": {
                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                "minimum": 1,
                                "type": "number"
                              },
                              "type": {
                                "description": "The data type of the input",
                                "enum": [
                                  "boolean",
                                  "file",
                                  "file_array",
                                  "inputs_array",
                                  "model",
                                  "model_array",
                                  "number",
                                  "number_array",
                                  "string",
                                  "string_array"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "name",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "jobId": {
                          "description": "The ID of the job that trained the model, returned to the model owner only\n(example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "modelKeyword": {
                          "description": "The model keyword, this is a legacy parameter, please use conceptPrompt in parameters",
                          "type": "string"
                        },
                        "name": {
                          "description": "The model name (example: \"Cinematic Realism\")",
                          "type": "string"
                        },
                        "negativePromptEmbedding": {
                          "description": "Fine-tune the model's inferences with negative prompt embedding",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "parameters": {
                          "additionalProperties": false,
                          "description": "The parameters of the model",
                          "properties": {
                            "age": {
                              "description": "Age group of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "batchSize": {
                              "default": 1,
                              "description": "The batch size\nLess steps, and will increase the learning rate\n\nOnly available for Flux LoRA training",
                              "maximum": 4,
                              "minimum": 1,
                              "type": "number"
                            },
                            "classPrompt": {
                              "description": "The prompt to specify images in the same class as provided instance images\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "cloneType": {
                              "default": "instant",
                              "description": "Type of voice cloning: \"instant\" (fast) or \"professional\" (higher quality, requires captcha)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The prompt with identifier specifying the instance (or subject) of the class (example: \"a daiton dog\")\n\nDefault value varies depending on the model type. For Flux LoRA, the default is an empty string.",
                              "type": "string"
                            },
                            "gender": {
                              "description": "Gender of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "language": {
                              "default": "en",
                              "description": "Language of the audio samples (ISO 639-1 code)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "learningRate": {
                              "default": 0.000005,
                              "description": "Initial learning rate (after the potential warmup period)\n\nDefault value varies depending on the model type. For Flux LoRA, the default is 0.0001.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateTextEncoder": {
                              "default": 0.00005,
                              "description": "Initial learning rate (after the potential warmup period) for the text encoder\n\nMaximum [Flux LoRA: 0.001]\nDefault [Flux LoRA: 0.00001]\nMinimum [Flux LoRA: 0.000001]",
                              "exclusiveMinimum": true,
                              "maximum": 0.001,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateUnet": {
                              "default": 0.0005,
                              "description": "Initial learning rate (after the potential warmup period) for the UNet\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "lrScheduler": {
                              "default": "constant",
                              "description": "The scheduler type to use (default: \"constant\")\n\nDeprecated legacy training parameter.",
                              "enum": [
                                "constant",
                                "constant-with-warmup",
                                "cosine",
                                "cosine-with-restarts",
                                "linear",
                                "polynomial"
                              ],
                              "type": "string"
                            },
                            "maxTrainSteps": {
                              "description": "Maximum number of training steps to execute (default: varies depending on the model type)\n\nDefault value varies depending on the model type:\n- For Flux: number of training images * 100\n\nMaximum value varies depending on the model type:\n- For Flux: [0, 10000]",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "nbEpochs": {
                              "default": 10,
                              "description": "The number of epochs to train for\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "nbRepeats": {
                              "default": 20,
                              "description": "The number of times to repeat the training\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "numTextTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the text encoder\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numUNetTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the UNet\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "optimizeFor": {
                              "description": "Optimize the model training task for a specific type of input images. The available values are:\n- \"likeness\": optimize training for likeness or portrait (targets specific transformer blocks)\n- \"all\": train all transformer blocks\n- \"none\": train no specific transformer blocks\n\nThis parameter controls which double and single transformer blocks are trained\nduring the LoRA training process.\n\nOnly available for Flux LoRA training",
                              "enum": [
                                "likeness"
                              ],
                              "type": "string"
                            },
                            "priorLossWeight": {
                              "default": 1,
                              "description": "The weight of prior preservation loss\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "maximum": 1.7976931348623157,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCrop": {
                              "default": false,
                              "description": "Whether to random crop or center crop images before resizing to the working resolution\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "randomCropRatio": {
                              "default": 0,
                              "description": "Ratio of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCropScale": {
                              "default": 1,
                              "description": "Scale of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "rank": {
                              "default": 16,
                              "description": "The dimension of the LoRA update matrices\n\nOnly available for Flux LoRA and Musubi training\n\nDefault value varies depending on the model type:\n- For Flux: 16\n- For Musubi: 64\n\nEach trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])",
                              "maximum": 128,
                              "minimum": 2,
                              "type": "number"
                            },
                            "removeBackgroundNoise": {
                              "default": false,
                              "description": "Whether to remove background noise from audio samples before cloning.\nWhen enabled, each sample must be at least 5 seconds long.\n\nOnly available for ElevenLabs voice training",
                              "type": "boolean"
                            },
                            "samplePrompts": {
                              "default": [],
                              "description": "The prompts to use for each epoch\nOnly available for Flux LoRA training",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "sampleSourceImages": {
                              "default": [],
                              "description": "The sample prompt images (AssetIds) paired with samplePrompts\nOnly available for Flux LoRA training\nMust be the same length as samplePrompts",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "scaleLr": {
                              "default": false,
                              "description": "Whether to scale the learning rate\n\nNote: Legacy parameter, will be ignored\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "seed": {
                              "description": "Used to reproduce previous results. Default: randomly generated number.\n\nDeprecated legacy training parameter.",
                              "maximum": 9007199254740991,
                              "minimum": 0,
                              "type": "number"
                            },
                            "textEncoderTrainingRatio": {
                              "default": 0.2,
                              "description": "Whether to train the text encoder or not\n\nExample: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps\n\nNote: Legacy parameter, please use `numTextTrainSteps` and `numUNetTrainSteps`\n\nDeprecated legacy training parameter.",
                              "maximum": 0.99,
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationFrequency": {
                              "default": 0,
                              "description": "Validation frequency. Cannot be greater than maxTrainSteps value\n\nDeprecated legacy training parameter.",
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationPrompt": {
                              "default": "",
                              "description": "Validation prompt\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "voiceDescription": {
                              "description": "Description of the voice characteristics\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "wandbKey": {
                              "description": "The Weights And Bias key to use for logging. The maximum length is 40 characters",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "parentModelId": {
                          "description": "The id of the parent model",
                          "type": "string"
                        },
                        "performanceStats": {
                          "additionalProperties": false,
                          "description": "Aggregated performance stats",
                          "properties": {
                            "default": {
                              "description": "Default variant key for quick model comparison",
                              "type": "string"
                            },
                            "variants": {
                              "description": "Performance metrics per variant",
                              "items": {
                                "additionalProperties": false,
                                "description": "Performance stats for a model variant",
                                "properties": {
                                  "arenaScore": {
                                    "additionalProperties": false,
                                    "description": "External quality score from arena.ai leaderboard",
                                    "properties": {
                                      "arenaCategory": {
                                        "description": "Arena category (example: \"text_to_image\", \"image_to_video\")",
                                        "type": "string"
                                      },
                                      "arenaModelName": {
                                        "description": "Model name on arena.ai",
                                        "type": "string"
                                      },
                                      "fetchedAt": {
                                        "description": "When this score was last fetched (ISO date)",
                                        "type": "string"
                                      },
                                      "rank": {
                                        "description": "Rank in the arena category",
                                        "type": "number"
                                      },
                                      "rating": {
                                        "description": "ELO rating",
                                        "type": "number"
                                      },
                                      "ratingLower": {
                                        "description": "ELO rating confidence interval lower bound",
                                        "type": "number"
                                      },
                                      "ratingUpper": {
                                        "description": "ELO rating confidence interval upper bound",
                                        "type": "number"
                                      },
                                      "votes": {
                                        "description": "Number of human votes",
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "arenaCategory",
                                      "arenaModelName",
                                      "fetchedAt",
                                      "rank",
                                      "rating",
                                      "ratingLower",
                                      "ratingUpper",
                                      "votes"
                                    ],
                                    "type": "object"
                                  },
                                  "capability": {
                                    "description": "The generation capability (example: \"txt2img\", \"img2video\", \"txt2audio\")",
                                    "type": "string"
                                  },
                                  "computedAt": {
                                    "description": "When these stats were last computed (ISO date)",
                                    "type": "string"
                                  },
                                  "costPerAssetMaxCU": {
                                    "description": "Maximum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetMinCU": {
                                    "description": "Minimum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetP50CU": {
                                    "description": "Median cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP50Sec": {
                                    "description": "Inference latency P50 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP75Sec": {
                                    "description": "Inference latency P75 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "resolution": {
                                    "description": "The resolution bucket (example: \"0.5K\", \"1K\", \"2K\", \"4K\")",
                                    "type": "string"
                                  },
                                  "totalLatencyP50Sec": {
                                    "description": "Total latency P50 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "totalLatencyP75Sec": {
                                    "description": "Total latency P75 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "variantKey": {
                                    "description": "Unique variant identifier (example: \"txt2img:1K\", \"img2video:2K\", \"txt2audio\")",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "capability",
                                  "computedAt",
                                  "variantKey"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "variants"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "default": "private",
                          "description": "The privacy of the model (default: private)",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "promptEmbedding": {
                          "description": "Fine-tune the model's inferences with prompt embedding",
                          "type": "string"
                        },
                        "shortDescription": {
                          "description": "The model short description (example: \"This model generates highly detailed cinematic scenes.\")",
                          "type": "string"
                        },
                        "softDeletionOn": {
                          "description": "The date when the model will be soft deleted (only for Free plan)",
                          "type": "string"
                        },
                        "source": {
                          "description": "The source of the model",
                          "enum": [
                            "civitai",
                            "huggingface",
                            "other",
                            "scenario"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The model status",
                          "enum": [
                            "copying",
                            "failed",
                            "new",
                            "trained",
                            "training",
                            "training-canceled"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "A thumbnail for your model",
                          "properties": {
                            "assetId": {
                              "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                              "type": "string"
                            },
                            "url": {
                              "description": "The url of the image used as a thumbnail for your model",
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "trainingImagePairs": {
                          "description": "Array of training image pairs",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "instruction": {
                                "description": "The instruction for the image pair, source to target",
                                "type": "string"
                              },
                              "sourceId": {
                                "description": "The source asset ID (must be a training asset)",
                                "type": "string"
                              },
                              "targetId": {
                                "description": "The target asset ID (must be a training asset)",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImages": {
                          "description": "The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "automaticCaptioning": {
                                "description": "Automatic captioning of the image",
                                "type": "string"
                              },
                              "createdAt": {
                                "description": "The training image upload date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "description": {
                                "description": "Description for the image",
                                "type": "string"
                              },
                              "downloadUrl": {
                                "description": "The URL of the image",
                                "type": "string"
                              },
                              "id": {
                                "description": "The training image ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "name": {
                                "description": "The original file name of the image (example: \"my-training-image.jpg\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "automaticCaptioning",
                              "createdAt",
                              "description",
                              "downloadUrl",
                              "id",
                              "name"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImagesNumber": {
                          "description": "The total number of training images",
                          "type": "number"
                        },
                        "trainingProgress": {
                          "additionalProperties": false,
                          "description": "Additional information about the training progress of the model",
                          "properties": {
                            "captchaImageUrl": {
                              "description": "Signed URL of the captcha image to read aloud during PVC voice cloning.\nOnly present when stage === 'pending-captcha'. Overwritten on each retry.",
                              "type": "string"
                            },
                            "position": {
                              "description": "Position of the job in the queue (ie. the number of job in the queue before this one)",
                              "type": "number"
                            },
                            "progress": {
                              "description": "The progress of the job",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "remainingTimeMs": {
                              "description": "The remaining time in milliseconds",
                              "type": "number"
                            },
                            "retryCount": {
                              "description": "Number of consecutive PVC step 2 / step 3 failures on this voice model.\nThe model is marked Failed when this reaches the platform's max retries.",
                              "type": "number"
                            },
                            "retryableError": {
                              "description": "Last recoverable failure message during PVC. Present when the model has\nbounced back to stage === 'ready-for-captcha' after a step 2 or step 3\nfailure (e.g. captcha rejected, time limit exceeded). Surface above the\nretry button so the user understands why they're back here.",
                              "type": "string"
                            },
                            "stage": {
                              "description": "The stage of the request",
                              "enum": [
                                "pending",
                                "pending-captcha",
                                "queued-for-train",
                                "ready-for-captcha",
                                "running-train",
                                "starting-train"
                              ],
                              "type": "string"
                            },
                            "startedAt": {
                              "description": "The timestamp in millisecond marking the start of the process",
                              "type": "number"
                            },
                            "updatedAt": {
                              "description": "Timestamp in milliseconds of the last time the training progress was updated",
                              "type": "number"
                            }
                          },
                          "required": [
                            "stage",
                            "updatedAt"
                          ],
                          "type": "object"
                        },
                        "trainingStats": {
                          "additionalProperties": false,
                          "description": "Additional information about the model's training",
                          "properties": {
                            "endedAt": {
                              "description": "The training end time as an ISO date string",
                              "type": "string"
                            },
                            "queueDuration": {
                              "description": "The training queued duration in seconds",
                              "type": "number"
                            },
                            "startedAt": {
                              "description": "The training start time as an ISO date string",
                              "type": "string"
                            },
                            "trainDuration": {
                              "description": "The training duration in seconds",
                              "type": "number"
                            }
                          },
                          "type": "object"
                        },
                        "type": {
                          "description": "The model type (example: \"flux.1-lora\")",
                          "enum": [
                            "custom",
                            "elevenlabs-voice",
                            "flux.1",
                            "flux.1-composition",
                            "flux.1-kontext-dev",
                            "flux.1-kontext-lora",
                            "flux.1-krea-dev",
                            "flux.1-krea-lora",
                            "flux.1-lora",
                            "flux.1-pro",
                            "flux.1.1-pro-ultra",
                            "flux.2-dev-edit-lora",
                            "flux.2-dev-lora",
                            "flux.2-klein-4b-edit-lora",
                            "flux.2-klein-4b-lora",
                            "flux.2-klein-9b-edit-lora",
                            "flux.2-klein-9b-lora",
                            "flux.2-klein-base-4b-edit-lora",
                            "flux.2-klein-base-4b-lora",
                            "flux.2-klein-base-9b-edit-lora",
                            "flux.2-klein-base-9b-lora",
                            "flux1.1-pro",
                            "gpt-image-1",
                            "qwen-image-2512-lora",
                            "qwen-image-edit-2509-lora",
                            "qwen-image-edit-2511-lora",
                            "qwen-image-edit-lora",
                            "qwen-image-lora",
                            "zimage-de-turbo-lora",
                            "zimage-lora",
                            "zimage-turbo-lora"
                          ],
                          "type": "string"
                        },
                        "uiConfig": {
                          "additionalProperties": false,
                          "description": "The UI configuration for the model",
                          "properties": {
                            "inputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "collapsed": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object"
                              },
                              "description": "Configuration for the input properties",
                              "type": "object"
                            },
                            "lorasComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the loras component",
                              "properties": {
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "modelIdInput": {
                                  "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                  "type": "string"
                                },
                                "modelInput": {
                                  "description": "The input name of the model (model_array)",
                                  "type": "string"
                                },
                                "scaleInput": {
                                  "description": "The input name of the scale (number_array)",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label",
                                "modelInput",
                                "scaleInput"
                              ],
                              "type": "object"
                            },
                            "outputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              },
                              "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                              "type": "object"
                            },
                            "presets": {
                              "description": "Configuration for the presets",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "fields": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "presets": {
                                    "additionalProperties": false,
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "fields",
                                  "presets"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "resolutionComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the resolution component",
                              "properties": {
                                "heightInput": {
                                  "description": "The input name of the height",
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "presets": {
                                  "description": "The resolution presets",
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "height": {
                                        "type": "number"
                                      },
                                      "label": {
                                        "type": "string"
                                      },
                                      "width": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "height",
                                      "label",
                                      "width"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "widthInput": {
                                  "description": "The input name of the width",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "heightInput",
                                "label",
                                "presets",
                                "widthInput"
                              ],
                              "type": "object"
                            },
                            "selects": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "type": "object"
                              },
                              "description": "Configuration for the selects",
                              "type": "object"
                            },
                            "triggerGenerate": {
                              "additionalProperties": false,
                              "description": "Configuration for the trigger generate button",
                              "properties": {
                                "after": {
                                  "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "position": {
                                  "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                  "enum": [
                                    "bottom",
                                    "top"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label"
                              ],
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The model last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "userId": {
                          "description": "(Deprecated) The user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "capabilities",
                        "collectionIds",
                        "createdAt",
                        "custom",
                        "exampleAssetIds",
                        "id",
                        "privacy",
                        "source",
                        "status",
                        "tags",
                        "trainingImagesNumber",
                        "type",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "model"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "classSlug": {
                    "description": "The slug of the class you want to use (ex: \"characters-npcs-mobs-characters\"). Set to null to unset the class",
                    "pattern": "^[a-z0-9-]+$",
                    "type": "string"
                  },
                  "concepts": {
                    "description": "The concepts is required for composition models. With one or more loras\n\nOnly applicable to Flux based models.",
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "epoch": {
                    "description": "The epoch of the model. Only available for flux.1-lora and flux.1-kontext-lora based models.\n\nThe epoch can only be set if the model has epochs and is in status \"trained\".\n\nThe default epoch (if not set) is the final model epoch (latest).\n\nSet to null to unset the epoch.",
                    "type": "string"
                  },
                  "name": {
                    "description": "The model's name (ex: \"Cinematic Realism\").\n\nIf not set, the model's name will be automatically generated when starting training based on training data.",
                    "maxLength": 64,
                    "type": "string"
                  },
                  "negativePromptEmbedding": {
                    "description": "Add a negative prompt embedding to every model's generation",
                    "type": "string"
                  },
                  "parameters": {
                    "additionalProperties": false,
                    "description": "The parameters to use for the model's training",
                    "properties": {
                      "age": {
                        "description": "Age group of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                        "type": "string"
                      },
                      "batchSize": {
                        "default": 1,
                        "description": "The batch size\nLess steps, and will increase the learning rate\n\nOnly available for Flux LoRA training",
                        "maximum": 4,
                        "minimum": 1,
                        "type": "number"
                      },
                      "classPrompt": {
                        "description": "The prompt to specify images in the same class as provided instance images\n\nDeprecated legacy training parameter.",
                        "type": "string"
                      },
                      "cloneType": {
                        "default": "instant",
                        "description": "Type of voice cloning: \"instant\" (fast) or \"professional\" (higher quality, requires captcha)\n\nOnly available for ElevenLabs voice training",
                        "type": "string"
                      },
                      "conceptPrompt": {
                        "description": "The prompt with identifier specifying the instance (or subject) of the class (example: \"a daiton dog\")\n\nDefault value varies depending on the model type. For Flux LoRA, the default is an empty string.",
                        "type": "string"
                      },
                      "gender": {
                        "description": "Gender of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                        "type": "string"
                      },
                      "language": {
                        "default": "en",
                        "description": "Language of the audio samples (ISO 639-1 code)\n\nOnly available for ElevenLabs voice training",
                        "type": "string"
                      },
                      "learningRate": {
                        "default": 0.000005,
                        "description": "Initial learning rate (after the potential warmup period)\n\nDefault value varies depending on the model type. For Flux LoRA, the default is 0.0001.",
                        "exclusiveMinimum": true,
                        "minimum": 0,
                        "type": "number"
                      },
                      "learningRateTextEncoder": {
                        "default": 0.00005,
                        "description": "Initial learning rate (after the potential warmup period) for the text encoder\n\nMaximum [Flux LoRA: 0.001]\nDefault [Flux LoRA: 0.00001]\nMinimum [Flux LoRA: 0.000001]",
                        "exclusiveMinimum": true,
                        "maximum": 0.001,
                        "minimum": 0,
                        "type": "number"
                      },
                      "learningRateUnet": {
                        "default": 0.0005,
                        "description": "Initial learning rate (after the potential warmup period) for the UNet\n\nDeprecated legacy training parameter.",
                        "exclusiveMinimum": true,
                        "minimum": 0,
                        "type": "number"
                      },
                      "lrScheduler": {
                        "default": "constant",
                        "description": "The scheduler type to use (default: \"constant\")\n\nDeprecated legacy training parameter.",
                        "enum": [
                          "constant",
                          "constant-with-warmup",
                          "cosine",
                          "cosine-with-restarts",
                          "linear",
                          "polynomial"
                        ],
                        "type": "string"
                      },
                      "maxTrainSteps": {
                        "description": "Maximum number of training steps to execute (default: varies depending on the model type)\n\nDefault value varies depending on the model type:\n- For Flux: number of training images * 100\n\nMaximum value varies depending on the model type:\n- For Flux: [0, 10000]",
                        "maximum": 40000,
                        "minimum": 0,
                        "type": "number"
                      },
                      "nbEpochs": {
                        "default": 10,
                        "description": "The number of epochs to train for\n\nOnly available for Flux LoRA training",
                        "maximum": 30,
                        "minimum": 1,
                        "type": "number"
                      },
                      "nbRepeats": {
                        "default": 20,
                        "description": "The number of times to repeat the training\n\nOnly available for Flux LoRA training",
                        "maximum": 30,
                        "minimum": 1,
                        "type": "number"
                      },
                      "numTextTrainSteps": {
                        "default": 0,
                        "description": "The number of training steps for the text encoder\n\nDeprecated legacy training parameter.",
                        "maximum": 40000,
                        "minimum": 0,
                        "type": "number"
                      },
                      "numUNetTrainSteps": {
                        "default": 0,
                        "description": "The number of training steps for the UNet\n\nDeprecated legacy training parameter.",
                        "maximum": 40000,
                        "minimum": 0,
                        "type": "number"
                      },
                      "optimizeFor": {
                        "description": "Optimize the model training task for a specific type of input images. The available values are:\n- \"likeness\": optimize training for likeness or portrait (targets specific transformer blocks)\n- \"all\": train all transformer blocks\n- \"none\": train no specific transformer blocks\n\nThis parameter controls which double and single transformer blocks are trained\nduring the LoRA training process.\n\nOnly available for Flux LoRA training",
                        "enum": [
                          "likeness"
                        ],
                        "type": "string"
                      },
                      "priorLossWeight": {
                        "default": 1,
                        "description": "The weight of prior preservation loss\n\nDeprecated legacy training parameter.",
                        "exclusiveMinimum": true,
                        "maximum": 1.7976931348623157,
                        "minimum": 0,
                        "type": "number"
                      },
                      "randomCrop": {
                        "default": false,
                        "description": "Whether to random crop or center crop images before resizing to the working resolution\n\nDeprecated legacy training parameter.",
                        "type": "boolean"
                      },
                      "randomCropRatio": {
                        "default": 0,
                        "description": "Ratio of random crops\n\nDeprecated legacy training parameter.",
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "randomCropScale": {
                        "default": 1,
                        "description": "Scale of random crops\n\nDeprecated legacy training parameter.",
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "rank": {
                        "default": 16,
                        "description": "The dimension of the LoRA update matrices\n\nOnly available for Flux LoRA and Musubi training\n\nDefault value varies depending on the model type:\n- For Flux: 16\n- For Musubi: 64\n\nEach trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])",
                        "maximum": 128,
                        "minimum": 2,
                        "type": "number"
                      },
                      "removeBackgroundNoise": {
                        "default": false,
                        "description": "Whether to remove background noise from audio samples before cloning.\nWhen enabled, each sample must be at least 5 seconds long.\n\nOnly available for ElevenLabs voice training",
                        "type": "boolean"
                      },
                      "samplePrompts": {
                        "default": [],
                        "description": "The prompts to use for each epoch\nOnly available for Flux LoRA training",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "sampleSourceImages": {
                        "default": [],
                        "description": "The sample prompt images (AssetIds) paired with samplePrompts\nOnly available for Flux LoRA training\nMust be the same length as samplePrompts",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "scaleLr": {
                        "default": false,
                        "description": "Whether to scale the learning rate\n\nNote: Legacy parameter, will be ignored\n\nDeprecated legacy training parameter.",
                        "type": "boolean"
                      },
                      "seed": {
                        "description": "Used to reproduce previous results. Default: randomly generated number.\n\nDeprecated legacy training parameter.",
                        "maximum": 9007199254740991,
                        "minimum": 0,
                        "type": "number"
                      },
                      "textEncoderTrainingRatio": {
                        "default": 0.2,
                        "description": "Whether to train the text encoder or not\n\nExample: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps\n\nNote: Legacy parameter, please use `numTextTrainSteps` and `numUNetTrainSteps`\n\nDeprecated legacy training parameter.",
                        "maximum": 0.99,
                        "minimum": 0,
                        "type": "number"
                      },
                      "validationFrequency": {
                        "default": 0,
                        "description": "Validation frequency. Cannot be greater than maxTrainSteps value\n\nDeprecated legacy training parameter.",
                        "minimum": 0,
                        "type": "number"
                      },
                      "validationPrompt": {
                        "default": "",
                        "description": "Validation prompt\n\nDeprecated legacy training parameter.",
                        "type": "string"
                      },
                      "voiceDescription": {
                        "description": "Description of the voice characteristics\n\nOnly available for ElevenLabs voice training",
                        "type": "string"
                      },
                      "wandbKey": {
                        "description": "The Weights And Bias key to use for logging. The maximum length is 40 characters",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "promptEmbedding": {
                    "description": "Add a prompt embedding to every model's generation",
                    "type": "string"
                  },
                  "shortDescription": {
                    "description": "The model's short description (ex: \"This model generates highly detailed cinematic scenes.\").\n\nIf not set, the model's short description will be automatically generated when starting training based on training data.",
                    "maxLength": 256,
                    "type": "string"
                  },
                  "thumbnail": {
                    "description": "The AssetId of the image you want to use as a thumbnail for the model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\"). Set to null to unset the thumbnail",
                    "type": "string"
                  },
                  "type": {
                    "description": "The model's type (ex: \"flux.1-lora\").\n\nThe type can only be changed if the model has the \"new\" status.",
                    "enum": [
                      "custom",
                      "elevenlabs-voice",
                      "flux.1",
                      "flux.1-composition",
                      "flux.1-kontext-dev",
                      "flux.1-kontext-lora",
                      "flux.1-krea-dev",
                      "flux.1-krea-lora",
                      "flux.1-lora",
                      "flux.1-pro",
                      "flux.1.1-pro-ultra",
                      "flux.2-dev-edit-lora",
                      "flux.2-dev-lora",
                      "flux.2-klein-4b-edit-lora",
                      "flux.2-klein-4b-lora",
                      "flux.2-klein-9b-edit-lora",
                      "flux.2-klein-9b-lora",
                      "flux.2-klein-base-4b-edit-lora",
                      "flux.2-klein-base-4b-lora",
                      "flux.2-klein-base-9b-edit-lora",
                      "flux.2-klein-base-9b-lora",
                      "flux1.1-pro",
                      "gpt-image-1",
                      "qwen-image-2512-lora",
                      "qwen-image-edit-2509-lora",
                      "qwen-image-edit-2511-lora",
                      "qwen-image-edit-lora",
                      "qwen-image-lora",
                      "zimage-de-turbo-lora",
                      "zimage-lora",
                      "zimage-turbo-lora"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      },
      "get": {
        "operationId": "GetModelsByModelId",
        "description": "Get the details of the given `modelId`, including its training status and training progress if available.\nSupports both public access (via the `Authorization` header set to `public-auth-token`) and authenticated user access (including API keys).",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The model's `modelId` to retrieve",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "model": {
                      "additionalProperties": false,
                      "properties": {
                        "accessRestrictions": {
                          "description": "The access restrictions of the model\n0: Free plan\n25: Starter plan\n50: Pro plan\n75: Max plan\n100: Enterprise plan",
                          "enum": [
                            0,
                            100,
                            25,
                            50,
                            75
                          ],
                          "type": "number"
                        },
                        "authorId": {
                          "description": "The author user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "capabilities": {
                          "description": "List of model capabilities (example: [\"txt2img\", \"img2img\", \"txt2img_ip_adapter\", ...])",
                          "items": {
                            "enum": [
                              "3d23d",
                              "audio2audio",
                              "audio2txt",
                              "audio2video",
                              "controlnet",
                              "controlnet_img2img",
                              "controlnet_inpaint",
                              "controlnet_inpaint_ip_adapter",
                              "controlnet_ip_adapter",
                              "controlnet_reference",
                              "controlnet_texture",
                              "img23d",
                              "img2img",
                              "img2img_ip_adapter",
                              "img2img_texture",
                              "img2txt",
                              "img2video",
                              "inpaint",
                              "inpaint_ip_adapter",
                              "outpaint",
                              "reference",
                              "reference_texture",
                              "txt23d",
                              "txt2audio",
                              "txt2img",
                              "txt2img_ip_adapter",
                              "txt2img_texture",
                              "txt2txt",
                              "txt2video",
                              "video23d",
                              "video2audio",
                              "video2img",
                              "video2txt",
                              "video2video"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "class": {
                          "additionalProperties": false,
                          "description": "The class of the model",
                          "properties": {
                            "category": {
                              "description": "The category slug of the class (example: \"art-style\")",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The concept prompt of the class (example: \"a sks character design\")",
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The model ID of the class. Only available for legacy models.",
                              "type": "string"
                            },
                            "name": {
                              "description": "The class name (example: \"Character Design\")",
                              "type": "string"
                            },
                            "prompt": {
                              "description": "The class prompt (example: \"a character design\")",
                              "type": "string"
                            },
                            "slug": {
                              "description": "The class slug (example: \"art-style-character-design\")",
                              "type": "string"
                            },
                            "status": {
                              "description": "The class status (only published classes are listed, but unpublished classes can still appear in existing models)",
                              "enum": [
                                "published",
                                "unpublished"
                              ],
                              "type": "string"
                            },
                            "thumbnails": {
                              "description": "Some example images URLs to showcase the class",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "category",
                            "conceptPrompt",
                            "modelId",
                            "name",
                            "prompt",
                            "slug",
                            "status",
                            "thumbnails"
                          ],
                          "type": "object"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this model belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "compliantModelIds": {
                          "description": "List of base model IDs compliant with the model (example: [\"flux.1-dev\", \"flux.1-schnell\"])\nThis attribute is mainly used for Flux LoRA models",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "concepts": {
                          "description": "The concepts is required for the type model: composition",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The model creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "custom": {
                          "description": "Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint",
                          "type": "boolean"
                        },
                        "deletedAt": {
                          "description": "The model deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted models, listed with `status=deleted`.",
                          "type": "string"
                        },
                        "disableRefund": {
                          "description": "When true, credits spent on a generation with this model are not\nautomatically refunded if the generation fails. Absent or false means\nfailed generations are refunded as usual.",
                          "type": "boolean"
                        },
                        "epoch": {
                          "description": "The epoch of the model. Only available for Flux Lora Trained models.\nIf not set, uses the final model epoch (latest)",
                          "type": "string"
                        },
                        "epochs": {
                          "description": "The epochs of the model. Only available for Flux Lora Trained models.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "assets": {
                                "description": "The assets of the epoch if sample prompts as been supplied during training",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "assetId": {
                                      "description": "The AssetId of the image during training (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                      "type": "string"
                                    },
                                    "url": {
                                      "description": "The url of the asset",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "assetId",
                                    "url"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "epoch": {
                                "description": "The epoch hash to identify the epoch",
                                "type": "string"
                              }
                            },
                            "required": [
                              "epoch"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "exampleAssetIds": {
                          "description": "List of all example asset IDs setup by the model owner",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "id": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "inputs": {
                          "description": "The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}",
                          "items": {
                            "additionalProperties": false,
                            "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                            "properties": {
                              "allowedValues": {
                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                "items": {},
                                "type": "array"
                              },
                              "backgroundBehavior": {
                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                "enum": [
                                  "opaque",
                                  "transparent"
                                ],
                                "type": "string"
                              },
                              "color": {
                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "costImpact": {
                                "description": "Whether this input affects the model's cost calculation",
                                "type": "boolean"
                              },
                              "default": {
                                "description": "The default value for the input"
                              },
                              "description": {
                                "description": "Help text displayed in the UI to provide additional information about the input",
                                "type": "string"
                              },
                              "group": {
                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                "type": "string"
                              },
                              "hint": {
                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                "type": "string"
                              },
                              "inputs": {
                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                "items": {
                                  "additionalProperties": true,
                                  "properties": {},
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "kind": {
                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "label": {
                                "description": "The label displayed in the UI for this input",
                                "type": "string"
                              },
                              "maskFrom": {
                                "description": "The name of the file input field to use as the mask source",
                                "type": "string"
                              },
                              "max": {
                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                "type": "number"
                              },
                              "maxDuration": {
                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "maxLength": {
                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "maxSize": {
                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                "type": "number"
                              },
                              "min": {
                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                "type": "number"
                              },
                              "minDuration": {
                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "minLength": {
                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "modelTypes": {
                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                "items": {
                                  "enum": [
                                    "custom",
                                    "elevenlabs-voice",
                                    "flux.1",
                                    "flux.1-composition",
                                    "flux.1-kontext-dev",
                                    "flux.1-kontext-lora",
                                    "flux.1-krea-dev",
                                    "flux.1-krea-lora",
                                    "flux.1-lora",
                                    "flux.1-pro",
                                    "flux.1.1-pro-ultra",
                                    "flux.2-dev-edit-lora",
                                    "flux.2-dev-lora",
                                    "flux.2-klein-4b-edit-lora",
                                    "flux.2-klein-4b-lora",
                                    "flux.2-klein-9b-edit-lora",
                                    "flux.2-klein-9b-lora",
                                    "flux.2-klein-base-4b-edit-lora",
                                    "flux.2-klein-base-4b-lora",
                                    "flux.2-klein-base-9b-edit-lora",
                                    "flux.2-klein-base-9b-lora",
                                    "flux1.1-pro",
                                    "gpt-image-1",
                                    "qwen-image-2512-lora",
                                    "qwen-image-edit-2509-lora",
                                    "qwen-image-edit-2511-lora",
                                    "qwen-image-edit-lora",
                                    "qwen-image-lora",
                                    "zimage-de-turbo-lora",
                                    "zimage-lora",
                                    "zimage-turbo-lora"
                                  ],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "name": {
                                "description": "The name that must be user to call the model through the API",
                                "type": "string"
                              },
                              "parent": {
                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                "type": "boolean"
                              },
                              "placeholder": {
                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "promptSpark": {
                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "required": {
                                "additionalProperties": false,
                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                "properties": {
                                  "always": {
                                    "description": "Whether the input is always required",
                                    "type": "boolean"
                                  },
                                  "conditional": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when other inputs have one of the listed values",
                                    "properties": {
                                      "operator": {
                                        "default": "and",
                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                        "enum": [
                                          "and",
                                          "or"
                                        ],
                                        "type": "string"
                                      },
                                      "values": {
                                        "additionalProperties": false,
                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "values"
                                    ],
                                    "type": "object"
                                  },
                                  "ifDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  },
                                  "ifNotDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "step": {
                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                "minimum": 1,
                                "type": "number"
                              },
                              "type": {
                                "description": "The data type of the input",
                                "enum": [
                                  "boolean",
                                  "file",
                                  "file_array",
                                  "inputs_array",
                                  "model",
                                  "model_array",
                                  "number",
                                  "number_array",
                                  "string",
                                  "string_array"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "name",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "jobId": {
                          "description": "The ID of the job that trained the model, returned to the model owner only\n(example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "modelKeyword": {
                          "description": "The model keyword, this is a legacy parameter, please use conceptPrompt in parameters",
                          "type": "string"
                        },
                        "name": {
                          "description": "The model name (example: \"Cinematic Realism\")",
                          "type": "string"
                        },
                        "negativePromptEmbedding": {
                          "description": "Fine-tune the model's inferences with negative prompt embedding",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "parameters": {
                          "additionalProperties": false,
                          "description": "The parameters of the model",
                          "properties": {
                            "age": {
                              "description": "Age group of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "batchSize": {
                              "default": 1,
                              "description": "The batch size\nLess steps, and will increase the learning rate\n\nOnly available for Flux LoRA training",
                              "maximum": 4,
                              "minimum": 1,
                              "type": "number"
                            },
                            "classPrompt": {
                              "description": "The prompt to specify images in the same class as provided instance images\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "cloneType": {
                              "default": "instant",
                              "description": "Type of voice cloning: \"instant\" (fast) or \"professional\" (higher quality, requires captcha)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The prompt with identifier specifying the instance (or subject) of the class (example: \"a daiton dog\")\n\nDefault value varies depending on the model type. For Flux LoRA, the default is an empty string.",
                              "type": "string"
                            },
                            "gender": {
                              "description": "Gender of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "language": {
                              "default": "en",
                              "description": "Language of the audio samples (ISO 639-1 code)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "learningRate": {
                              "default": 0.000005,
                              "description": "Initial learning rate (after the potential warmup period)\n\nDefault value varies depending on the model type. For Flux LoRA, the default is 0.0001.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateTextEncoder": {
                              "default": 0.00005,
                              "description": "Initial learning rate (after the potential warmup period) for the text encoder\n\nMaximum [Flux LoRA: 0.001]\nDefault [Flux LoRA: 0.00001]\nMinimum [Flux LoRA: 0.000001]",
                              "exclusiveMinimum": true,
                              "maximum": 0.001,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateUnet": {
                              "default": 0.0005,
                              "description": "Initial learning rate (after the potential warmup period) for the UNet\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "lrScheduler": {
                              "default": "constant",
                              "description": "The scheduler type to use (default: \"constant\")\n\nDeprecated legacy training parameter.",
                              "enum": [
                                "constant",
                                "constant-with-warmup",
                                "cosine",
                                "cosine-with-restarts",
                                "linear",
                                "polynomial"
                              ],
                              "type": "string"
                            },
                            "maxTrainSteps": {
                              "description": "Maximum number of training steps to execute (default: varies depending on the model type)\n\nDefault value varies depending on the model type:\n- For Flux: number of training images * 100\n\nMaximum value varies depending on the model type:\n- For Flux: [0, 10000]",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "nbEpochs": {
                              "default": 10,
                              "description": "The number of epochs to train for\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "nbRepeats": {
                              "default": 20,
                              "description": "The number of times to repeat the training\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "numTextTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the text encoder\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numUNetTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the UNet\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "optimizeFor": {
                              "description": "Optimize the model training task for a specific type of input images. The available values are:\n- \"likeness\": optimize training for likeness or portrait (targets specific transformer blocks)\n- \"all\": train all transformer blocks\n- \"none\": train no specific transformer blocks\n\nThis parameter controls which double and single transformer blocks are trained\nduring the LoRA training process.\n\nOnly available for Flux LoRA training",
                              "enum": [
                                "likeness"
                              ],
                              "type": "string"
                            },
                            "priorLossWeight": {
                              "default": 1,
                              "description": "The weight of prior preservation loss\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "maximum": 1.7976931348623157,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCrop": {
                              "default": false,
                              "description": "Whether to random crop or center crop images before resizing to the working resolution\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "randomCropRatio": {
                              "default": 0,
                              "description": "Ratio of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCropScale": {
                              "default": 1,
                              "description": "Scale of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "rank": {
                              "default": 16,
                              "description": "The dimension of the LoRA update matrices\n\nOnly available for Flux LoRA and Musubi training\n\nDefault value varies depending on the model type:\n- For Flux: 16\n- For Musubi: 64\n\nEach trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])",
                              "maximum": 128,
                              "minimum": 2,
                              "type": "number"
                            },
                            "removeBackgroundNoise": {
                              "default": false,
                              "description": "Whether to remove background noise from audio samples before cloning.\nWhen enabled, each sample must be at least 5 seconds long.\n\nOnly available for ElevenLabs voice training",
                              "type": "boolean"
                            },
                            "samplePrompts": {
                              "default": [],
                              "description": "The prompts to use for each epoch\nOnly available for Flux LoRA training",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "sampleSourceImages": {
                              "default": [],
                              "description": "The sample prompt images (AssetIds) paired with samplePrompts\nOnly available for Flux LoRA training\nMust be the same length as samplePrompts",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "scaleLr": {
                              "default": false,
                              "description": "Whether to scale the learning rate\n\nNote: Legacy parameter, will be ignored\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "seed": {
                              "description": "Used to reproduce previous results. Default: randomly generated number.\n\nDeprecated legacy training parameter.",
                              "maximum": 9007199254740991,
                              "minimum": 0,
                              "type": "number"
                            },
                            "textEncoderTrainingRatio": {
                              "default": 0.2,
                              "description": "Whether to train the text encoder or not\n\nExample: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps\n\nNote: Legacy parameter, please use `numTextTrainSteps` and `numUNetTrainSteps`\n\nDeprecated legacy training parameter.",
                              "maximum": 0.99,
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationFrequency": {
                              "default": 0,
                              "description": "Validation frequency. Cannot be greater than maxTrainSteps value\n\nDeprecated legacy training parameter.",
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationPrompt": {
                              "default": "",
                              "description": "Validation prompt\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "voiceDescription": {
                              "description": "Description of the voice characteristics\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "wandbKey": {
                              "description": "The Weights And Bias key to use for logging. The maximum length is 40 characters",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "parentModelId": {
                          "description": "The id of the parent model",
                          "type": "string"
                        },
                        "performanceStats": {
                          "additionalProperties": false,
                          "description": "Aggregated performance stats",
                          "properties": {
                            "default": {
                              "description": "Default variant key for quick model comparison",
                              "type": "string"
                            },
                            "variants": {
                              "description": "Performance metrics per variant",
                              "items": {
                                "additionalProperties": false,
                                "description": "Performance stats for a model variant",
                                "properties": {
                                  "arenaScore": {
                                    "additionalProperties": false,
                                    "description": "External quality score from arena.ai leaderboard",
                                    "properties": {
                                      "arenaCategory": {
                                        "description": "Arena category (example: \"text_to_image\", \"image_to_video\")",
                                        "type": "string"
                                      },
                                      "arenaModelName": {
                                        "description": "Model name on arena.ai",
                                        "type": "string"
                                      },
                                      "fetchedAt": {
                                        "description": "When this score was last fetched (ISO date)",
                                        "type": "string"
                                      },
                                      "rank": {
                                        "description": "Rank in the arena category",
                                        "type": "number"
                                      },
                                      "rating": {
                                        "description": "ELO rating",
                                        "type": "number"
                                      },
                                      "ratingLower": {
                                        "description": "ELO rating confidence interval lower bound",
                                        "type": "number"
                                      },
                                      "ratingUpper": {
                                        "description": "ELO rating confidence interval upper bound",
                                        "type": "number"
                                      },
                                      "votes": {
                                        "description": "Number of human votes",
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "arenaCategory",
                                      "arenaModelName",
                                      "fetchedAt",
                                      "rank",
                                      "rating",
                                      "ratingLower",
                                      "ratingUpper",
                                      "votes"
                                    ],
                                    "type": "object"
                                  },
                                  "capability": {
                                    "description": "The generation capability (example: \"txt2img\", \"img2video\", \"txt2audio\")",
                                    "type": "string"
                                  },
                                  "computedAt": {
                                    "description": "When these stats were last computed (ISO date)",
                                    "type": "string"
                                  },
                                  "costPerAssetMaxCU": {
                                    "description": "Maximum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetMinCU": {
                                    "description": "Minimum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetP50CU": {
                                    "description": "Median cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP50Sec": {
                                    "description": "Inference latency P50 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP75Sec": {
                                    "description": "Inference latency P75 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "resolution": {
                                    "description": "The resolution bucket (example: \"0.5K\", \"1K\", \"2K\", \"4K\")",
                                    "type": "string"
                                  },
                                  "totalLatencyP50Sec": {
                                    "description": "Total latency P50 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "totalLatencyP75Sec": {
                                    "description": "Total latency P75 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "variantKey": {
                                    "description": "Unique variant identifier (example: \"txt2img:1K\", \"img2video:2K\", \"txt2audio\")",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "capability",
                                  "computedAt",
                                  "variantKey"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "variants"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "default": "private",
                          "description": "The privacy of the model (default: private)",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "promptEmbedding": {
                          "description": "Fine-tune the model's inferences with prompt embedding",
                          "type": "string"
                        },
                        "shortDescription": {
                          "description": "The model short description (example: \"This model generates highly detailed cinematic scenes.\")",
                          "type": "string"
                        },
                        "softDeletionOn": {
                          "description": "The date when the model will be soft deleted (only for Free plan)",
                          "type": "string"
                        },
                        "source": {
                          "description": "The source of the model",
                          "enum": [
                            "civitai",
                            "huggingface",
                            "other",
                            "scenario"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The model status",
                          "enum": [
                            "copying",
                            "failed",
                            "new",
                            "trained",
                            "training",
                            "training-canceled"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "A thumbnail for your model",
                          "properties": {
                            "assetId": {
                              "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                              "type": "string"
                            },
                            "url": {
                              "description": "The url of the image used as a thumbnail for your model",
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "trainingImagePairs": {
                          "description": "Array of training image pairs",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "instruction": {
                                "description": "The instruction for the image pair, source to target",
                                "type": "string"
                              },
                              "sourceId": {
                                "description": "The source asset ID (must be a training asset)",
                                "type": "string"
                              },
                              "targetId": {
                                "description": "The target asset ID (must be a training asset)",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImages": {
                          "description": "The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "automaticCaptioning": {
                                "description": "Automatic captioning of the image",
                                "type": "string"
                              },
                              "createdAt": {
                                "description": "The training image upload date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "description": {
                                "description": "Description for the image",
                                "type": "string"
                              },
                              "downloadUrl": {
                                "description": "The URL of the image",
                                "type": "string"
                              },
                              "id": {
                                "description": "The training image ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "name": {
                                "description": "The original file name of the image (example: \"my-training-image.jpg\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "automaticCaptioning",
                              "createdAt",
                              "description",
                              "downloadUrl",
                              "id",
                              "name"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImagesNumber": {
                          "description": "The total number of training images",
                          "type": "number"
                        },
                        "trainingProgress": {
                          "additionalProperties": false,
                          "description": "Additional information about the training progress of the model",
                          "properties": {
                            "captchaImageUrl": {
                              "description": "Signed URL of the captcha image to read aloud during PVC voice cloning.\nOnly present when stage === 'pending-captcha'. Overwritten on each retry.",
                              "type": "string"
                            },
                            "position": {
                              "description": "Position of the job in the queue (ie. the number of job in the queue before this one)",
                              "type": "number"
                            },
                            "progress": {
                              "description": "The progress of the job",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "remainingTimeMs": {
                              "description": "The remaining time in milliseconds",
                              "type": "number"
                            },
                            "retryCount": {
                              "description": "Number of consecutive PVC step 2 / step 3 failures on this voice model.\nThe model is marked Failed when this reaches the platform's max retries.",
                              "type": "number"
                            },
                            "retryableError": {
                              "description": "Last recoverable failure message during PVC. Present when the model has\nbounced back to stage === 'ready-for-captcha' after a step 2 or step 3\nfailure (e.g. captcha rejected, time limit exceeded). Surface above the\nretry button so the user understands why they're back here.",
                              "type": "string"
                            },
                            "stage": {
                              "description": "The stage of the request",
                              "enum": [
                                "pending",
                                "pending-captcha",
                                "queued-for-train",
                                "ready-for-captcha",
                                "running-train",
                                "starting-train"
                              ],
                              "type": "string"
                            },
                            "startedAt": {
                              "description": "The timestamp in millisecond marking the start of the process",
                              "type": "number"
                            },
                            "updatedAt": {
                              "description": "Timestamp in milliseconds of the last time the training progress was updated",
                              "type": "number"
                            }
                          },
                          "required": [
                            "stage",
                            "updatedAt"
                          ],
                          "type": "object"
                        },
                        "trainingStats": {
                          "additionalProperties": false,
                          "description": "Additional information about the model's training",
                          "properties": {
                            "endedAt": {
                              "description": "The training end time as an ISO date string",
                              "type": "string"
                            },
                            "queueDuration": {
                              "description": "The training queued duration in seconds",
                              "type": "number"
                            },
                            "startedAt": {
                              "description": "The training start time as an ISO date string",
                              "type": "string"
                            },
                            "trainDuration": {
                              "description": "The training duration in seconds",
                              "type": "number"
                            }
                          },
                          "type": "object"
                        },
                        "type": {
                          "description": "The model type (example: \"flux.1-lora\")",
                          "enum": [
                            "custom",
                            "elevenlabs-voice",
                            "flux.1",
                            "flux.1-composition",
                            "flux.1-kontext-dev",
                            "flux.1-kontext-lora",
                            "flux.1-krea-dev",
                            "flux.1-krea-lora",
                            "flux.1-lora",
                            "flux.1-pro",
                            "flux.1.1-pro-ultra",
                            "flux.2-dev-edit-lora",
                            "flux.2-dev-lora",
                            "flux.2-klein-4b-edit-lora",
                            "flux.2-klein-4b-lora",
                            "flux.2-klein-9b-edit-lora",
                            "flux.2-klein-9b-lora",
                            "flux.2-klein-base-4b-edit-lora",
                            "flux.2-klein-base-4b-lora",
                            "flux.2-klein-base-9b-edit-lora",
                            "flux.2-klein-base-9b-lora",
                            "flux1.1-pro",
                            "gpt-image-1",
                            "qwen-image-2512-lora",
                            "qwen-image-edit-2509-lora",
                            "qwen-image-edit-2511-lora",
                            "qwen-image-edit-lora",
                            "qwen-image-lora",
                            "zimage-de-turbo-lora",
                            "zimage-lora",
                            "zimage-turbo-lora"
                          ],
                          "type": "string"
                        },
                        "uiConfig": {
                          "additionalProperties": false,
                          "description": "The UI configuration for the model",
                          "properties": {
                            "inputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "collapsed": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object"
                              },
                              "description": "Configuration for the input properties",
                              "type": "object"
                            },
                            "lorasComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the loras component",
                              "properties": {
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "modelIdInput": {
                                  "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                  "type": "string"
                                },
                                "modelInput": {
                                  "description": "The input name of the model (model_array)",
                                  "type": "string"
                                },
                                "scaleInput": {
                                  "description": "The input name of the scale (number_array)",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label",
                                "modelInput",
                                "scaleInput"
                              ],
                              "type": "object"
                            },
                            "outputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              },
                              "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                              "type": "object"
                            },
                            "presets": {
                              "description": "Configuration for the presets",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "fields": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "presets": {
                                    "additionalProperties": false,
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "fields",
                                  "presets"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "resolutionComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the resolution component",
                              "properties": {
                                "heightInput": {
                                  "description": "The input name of the height",
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "presets": {
                                  "description": "The resolution presets",
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "height": {
                                        "type": "number"
                                      },
                                      "label": {
                                        "type": "string"
                                      },
                                      "width": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "height",
                                      "label",
                                      "width"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "widthInput": {
                                  "description": "The input name of the width",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "heightInput",
                                "label",
                                "presets",
                                "widthInput"
                              ],
                              "type": "object"
                            },
                            "selects": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "type": "object"
                              },
                              "description": "Configuration for the selects",
                              "type": "object"
                            },
                            "triggerGenerate": {
                              "additionalProperties": false,
                              "description": "Configuration for the trigger generate button",
                              "properties": {
                                "after": {
                                  "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "position": {
                                  "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                  "enum": [
                                    "bottom",
                                    "top"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label"
                              ],
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The model last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "userId": {
                          "description": "(Deprecated) The user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "capabilities",
                        "collectionIds",
                        "createdAt",
                        "custom",
                        "exampleAssetIds",
                        "id",
                        "privacy",
                        "source",
                        "status",
                        "tags",
                        "trainingImagesNumber",
                        "type",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "model"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "delete": {
        "operationId": "DeleteModelsByModelId",
        "description": "Delete a model",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The modelId to delete",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/models/{modelId}/scores/prompt": {
      "get": {
        "operationId": "GetModelsScoresPromptByModelId",
        "description": "Get the prompt scores for the given `modelId`",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The prompt scores' `modelId`",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "prompt",
            "in": "query",
            "required": false,
            "description": "The prompt to score against the model. Required — the call returns 400 without it.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "details": {
                      "additionalProperties": false,
                      "description": "Different components used to compute the final score",
                      "properties": {
                        "captionsSimilarity": {
                          "additionalProperties": false,
                          "description": "The Dice-Sørensen similarity between the prompt and each captions from the model's training images\n\nThe values are between 0 and 1. The higher the value, the more similar the prompt is to the training images' captions",
                          "properties": {
                            "mean": {
                              "type": "number"
                            },
                            "median": {
                              "type": "number"
                            },
                            "min": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "mean",
                            "median",
                            "min"
                          ],
                          "type": "object"
                        },
                        "embeddingSimilarity": {
                          "description": "The cosine similarity between the prompt and the model's caption embedding\n\nThe value is a number between -1 and 1. The higher the value, the more similar the prompt is to the model's caption embedding",
                          "type": "number"
                        },
                        "promptsSimilarity": {
                          "additionalProperties": false,
                          "description": "The Dice-Sørensen similarity between the prompt and each prompts from the model's examples\n\nThe values are between 0 and 1. The higher the value, the more similar the prompt is to the prompts' examples",
                          "properties": {
                            "mean": {
                              "type": "number"
                            },
                            "median": {
                              "type": "number"
                            },
                            "min": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "mean",
                            "median",
                            "min"
                          ],
                          "type": "object"
                        }
                      },
                      "required": [
                        "captionsSimilarity",
                        "embeddingSimilarity"
                      ],
                      "type": "object"
                    },
                    "modelId": {
                      "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                      "type": "string"
                    },
                    "score": {
                      "description": "The prompt's score for the input modelId\n\nThe score is a number between 0 and 1. The higher the score, the better the prompt is for the model",
                      "maximum": 1,
                      "minimum": 0,
                      "type": "number"
                    },
                    "status": {
                      "description": "The status of the prompt's score\n\nDetails if all the necessary data is present to compute the score",
                      "enum": [
                        "complete",
                        "incomplete",
                        "unknown"
                      ],
                      "type": "string"
                    },
                    "syntaxError": {
                      "description": "Present only if the prompt has one or more syntax errors\n\nThe API checks several syntax errors in the prompt",
                      "enum": [
                        "Prompt weight should be between 0 and 2",
                        "Prompt weight symbol should be - or + with a maximum length of 5. Ex: --, ++, ---, +++++",
                        "Unsupported prompt syntax: '[to:when], [from::when]'",
                        "Unsupported prompt syntax: 'word:<weight>' or '(word):<weight>'. Please use 'word<weight>' or '(word)<weight>' instead",
                        "Unsupported prompt syntax: --(s|c)ref",
                        "Unsupported prompt syntax: <name:weight> or <lora:name:weight>",
                        "Unsupported url in prompt"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "details",
                    "modelId",
                    "score",
                    "status"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/models/{modelId}/scores/training-dataset": {
      "get": {
        "operationId": "GetModelsScoresTrainingDatasetByModelId",
        "description": "Get the training dataset scores for the given `modelId`",
        "tags": [
          "Models Training"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The training dataset scores' `modelId`",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "assetCouplesWarnings": {
                      "description": "Present only if their is a warning between the assets of the couples",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "couple": {
                            "description": "The couple of AssetIds (example: ['asset_GTrL3mq4SXWyMxkOHRxlpw', 'asset_6VrLs8nC1DHWCfKGaVne0gBn'])",
                            "items": {
                              "type": "string"
                            },
                            "maxItems": 2,
                            "minItems": 2,
                            "type": "array"
                          },
                          "message": {
                            "description": "An indicative message concerning the couple of assets",
                            "items": {
                              "enum": [
                                "Captions are identical",
                                "Captions are too close",
                                "Empty caption",
                                "Missing caption",
                                "Missing metadata",
                                "Same asset",
                                "Similarity is too high",
                                "Similarity with other assets is too low",
                                "Width and height must be larger than 1024"
                              ],
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "required": [
                          "couple",
                          "message"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "assetsWarnings": {
                      "description": "Present only if the training image assets of the modelId have one or more warnings",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "assetId": {
                            "description": "The AssetId which has a warning (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                            "type": "string"
                          },
                          "message": {
                            "description": "An indicative message concerning the asset",
                            "items": {
                              "enum": [
                                "Captions are identical",
                                "Captions are too close",
                                "Empty caption",
                                "Missing caption",
                                "Missing metadata",
                                "Same asset",
                                "Similarity is too high",
                                "Similarity with other assets is too low",
                                "Width and height must be larger than 1024"
                              ],
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "required": [
                          "assetId",
                          "message"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "details": {
                      "additionalProperties": false,
                      "description": "Different components used to compute the final score",
                      "properties": {
                        "assetCouplesCaptionsDistance": {
                          "description": "For each couple of assets in the training dataset, the distance between the captions",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "couple": {
                                "description": "The couple of AssetIds (example: ['asset_GTrL3mq4SXWyMxkOHRxlpw', 'asset_6VrLs8nC1DHWCfKGaVne0gBn'])",
                                "items": {
                                  "type": "string"
                                },
                                "maxItems": 2,
                                "minItems": 2,
                                "type": "array"
                              },
                              "distance": {
                                "description": "The Dice-Sørensen distance between the captions of the assetIds of the couple.",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              }
                            },
                            "required": [
                              "couple",
                              "distance"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "assetCouplesSimilarity": {
                          "description": "For each couple of assets in the training dataset, the similarity between the assets",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "couple": {
                                "description": "The couple of AssetIds (example: ['asset_GTrL3mq4SXWyMxkOHRxlpw', 'asset_6VrLs8nC1DHWCfKGaVne0gBn'])",
                                "items": {
                                  "type": "string"
                                },
                                "maxItems": 2,
                                "minItems": 2,
                                "type": "array"
                              },
                              "similarity": {
                                "description": "The cosine similarity between the assetIds of the couple.\n\nThe value is a number between -1 and 1. The higher the value, the more similar the assets are to each other",
                                "maximum": 1,
                                "minimum": -1,
                                "type": "number"
                              }
                            },
                            "required": [
                              "couple",
                              "similarity"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "assetsEmbeddingSimilarity": {
                          "description": "For each asset, the similarity with the model's embedding (excluding the current asset)",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "assetId": {
                                "description": "The AssetId associated with their similarity (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "similarity": {
                                "description": "The cosine similarity between the assetId and the model's embedding minus the asset's embedding\n\nThe value is a number between -1 and 1. The higher the value, the more similar the asset is to the model's embedding",
                                "maximum": 1,
                                "minimum": -1,
                                "type": "number"
                              }
                            },
                            "required": [
                              "assetId",
                              "similarity"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "assetsSimilarity": {
                          "additionalProperties": false,
                          "description": "The min, mean, median of the assetsEmbeddingSimilarity",
                          "properties": {
                            "mean": {
                              "maximum": 1,
                              "minimum": -1,
                              "type": "number"
                            },
                            "median": {
                              "maximum": 1,
                              "minimum": -1,
                              "type": "number"
                            },
                            "min": {
                              "maximum": 1,
                              "minimum": -1,
                              "type": "number"
                            }
                          },
                          "required": [
                            "mean",
                            "median",
                            "min"
                          ],
                          "type": "object"
                        },
                        "couplesCaptionsDistance": {
                          "additionalProperties": false,
                          "description": "The min, mean, median of the assetCouplesCaptionsDistance",
                          "properties": {
                            "mean": {
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "median": {
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "min": {
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            }
                          },
                          "required": [
                            "mean",
                            "median",
                            "min"
                          ],
                          "type": "object"
                        },
                        "couplesSimilarity": {
                          "additionalProperties": false,
                          "description": "The min, mean, median of the assetCouplesSimilarity",
                          "properties": {
                            "mean": {
                              "maximum": 1,
                              "minimum": -1,
                              "type": "number"
                            },
                            "median": {
                              "maximum": 1,
                              "minimum": -1,
                              "type": "number"
                            },
                            "min": {
                              "maximum": 1,
                              "minimum": -1,
                              "type": "number"
                            }
                          },
                          "required": [
                            "mean",
                            "median",
                            "min"
                          ],
                          "type": "object"
                        },
                        "metadataScore": {
                          "description": "Takes into account all missing data and warnings to compute a metadata score",
                          "maximum": 1,
                          "minimum": -1,
                          "type": "number"
                        }
                      },
                      "required": [
                        "assetCouplesCaptionsDistance",
                        "assetCouplesSimilarity",
                        "assetsEmbeddingSimilarity",
                        "assetsSimilarity",
                        "couplesCaptionsDistance",
                        "couplesSimilarity",
                        "metadataScore"
                      ],
                      "type": "object"
                    },
                    "modelId": {
                      "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                      "type": "string"
                    },
                    "score": {
                      "description": "The training dataset's score for the input modelId\n\nThe score is a number between 0 and 1. The higher the score, the most chance the model has to train well",
                      "maximum": 1,
                      "minimum": 0,
                      "type": "number"
                    },
                    "status": {
                      "description": "The status of the training dataset's score\n\nDetails if all the necessary data is present to compute the score",
                      "enum": [
                        "complete",
                        "incomplete",
                        "unknown"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "details",
                    "modelId",
                    "score",
                    "status"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/models/{modelId}/copy": {
      "post": {
        "operationId": "PostModelsCopyByModelId",
        "description": "Copy the given `modelId` to a new model, thumbnail, presets, and all of its training images and pairs if any",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The modelId to copy",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "model": {
                      "additionalProperties": false,
                      "properties": {
                        "accessRestrictions": {
                          "description": "The access restrictions of the model\n0: Free plan\n25: Starter plan\n50: Pro plan\n75: Max plan\n100: Enterprise plan",
                          "enum": [
                            0,
                            100,
                            25,
                            50,
                            75
                          ],
                          "type": "number"
                        },
                        "authorId": {
                          "description": "The author user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "capabilities": {
                          "description": "List of model capabilities (example: [\"txt2img\", \"img2img\", \"txt2img_ip_adapter\", ...])",
                          "items": {
                            "enum": [
                              "3d23d",
                              "audio2audio",
                              "audio2txt",
                              "audio2video",
                              "controlnet",
                              "controlnet_img2img",
                              "controlnet_inpaint",
                              "controlnet_inpaint_ip_adapter",
                              "controlnet_ip_adapter",
                              "controlnet_reference",
                              "controlnet_texture",
                              "img23d",
                              "img2img",
                              "img2img_ip_adapter",
                              "img2img_texture",
                              "img2txt",
                              "img2video",
                              "inpaint",
                              "inpaint_ip_adapter",
                              "outpaint",
                              "reference",
                              "reference_texture",
                              "txt23d",
                              "txt2audio",
                              "txt2img",
                              "txt2img_ip_adapter",
                              "txt2img_texture",
                              "txt2txt",
                              "txt2video",
                              "video23d",
                              "video2audio",
                              "video2img",
                              "video2txt",
                              "video2video"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "class": {
                          "additionalProperties": false,
                          "description": "The class of the model",
                          "properties": {
                            "category": {
                              "description": "The category slug of the class (example: \"art-style\")",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The concept prompt of the class (example: \"a sks character design\")",
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The model ID of the class. Only available for legacy models.",
                              "type": "string"
                            },
                            "name": {
                              "description": "The class name (example: \"Character Design\")",
                              "type": "string"
                            },
                            "prompt": {
                              "description": "The class prompt (example: \"a character design\")",
                              "type": "string"
                            },
                            "slug": {
                              "description": "The class slug (example: \"art-style-character-design\")",
                              "type": "string"
                            },
                            "status": {
                              "description": "The class status (only published classes are listed, but unpublished classes can still appear in existing models)",
                              "enum": [
                                "published",
                                "unpublished"
                              ],
                              "type": "string"
                            },
                            "thumbnails": {
                              "description": "Some example images URLs to showcase the class",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "category",
                            "conceptPrompt",
                            "modelId",
                            "name",
                            "prompt",
                            "slug",
                            "status",
                            "thumbnails"
                          ],
                          "type": "object"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this model belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "compliantModelIds": {
                          "description": "List of base model IDs compliant with the model (example: [\"flux.1-dev\", \"flux.1-schnell\"])\nThis attribute is mainly used for Flux LoRA models",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "concepts": {
                          "description": "The concepts is required for the type model: composition",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The model creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "custom": {
                          "description": "Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint",
                          "type": "boolean"
                        },
                        "deletedAt": {
                          "description": "The model deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted models, listed with `status=deleted`.",
                          "type": "string"
                        },
                        "disableRefund": {
                          "description": "When true, credits spent on a generation with this model are not\nautomatically refunded if the generation fails. Absent or false means\nfailed generations are refunded as usual.",
                          "type": "boolean"
                        },
                        "epoch": {
                          "description": "The epoch of the model. Only available for Flux Lora Trained models.\nIf not set, uses the final model epoch (latest)",
                          "type": "string"
                        },
                        "epochs": {
                          "description": "The epochs of the model. Only available for Flux Lora Trained models.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "assets": {
                                "description": "The assets of the epoch if sample prompts as been supplied during training",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "assetId": {
                                      "description": "The AssetId of the image during training (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                      "type": "string"
                                    },
                                    "url": {
                                      "description": "The url of the asset",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "assetId",
                                    "url"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "epoch": {
                                "description": "The epoch hash to identify the epoch",
                                "type": "string"
                              }
                            },
                            "required": [
                              "epoch"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "exampleAssetIds": {
                          "description": "List of all example asset IDs setup by the model owner",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "id": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "inputs": {
                          "description": "The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}",
                          "items": {
                            "additionalProperties": false,
                            "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                            "properties": {
                              "allowedValues": {
                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                "items": {},
                                "type": "array"
                              },
                              "backgroundBehavior": {
                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                "enum": [
                                  "opaque",
                                  "transparent"
                                ],
                                "type": "string"
                              },
                              "color": {
                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "costImpact": {
                                "description": "Whether this input affects the model's cost calculation",
                                "type": "boolean"
                              },
                              "default": {
                                "description": "The default value for the input"
                              },
                              "description": {
                                "description": "Help text displayed in the UI to provide additional information about the input",
                                "type": "string"
                              },
                              "group": {
                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                "type": "string"
                              },
                              "hint": {
                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                "type": "string"
                              },
                              "inputs": {
                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                "items": {
                                  "additionalProperties": true,
                                  "properties": {},
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "kind": {
                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "label": {
                                "description": "The label displayed in the UI for this input",
                                "type": "string"
                              },
                              "maskFrom": {
                                "description": "The name of the file input field to use as the mask source",
                                "type": "string"
                              },
                              "max": {
                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                "type": "number"
                              },
                              "maxDuration": {
                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "maxLength": {
                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "maxSize": {
                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                "type": "number"
                              },
                              "min": {
                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                "type": "number"
                              },
                              "minDuration": {
                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "minLength": {
                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "modelTypes": {
                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                "items": {
                                  "enum": [
                                    "custom",
                                    "elevenlabs-voice",
                                    "flux.1",
                                    "flux.1-composition",
                                    "flux.1-kontext-dev",
                                    "flux.1-kontext-lora",
                                    "flux.1-krea-dev",
                                    "flux.1-krea-lora",
                                    "flux.1-lora",
                                    "flux.1-pro",
                                    "flux.1.1-pro-ultra",
                                    "flux.2-dev-edit-lora",
                                    "flux.2-dev-lora",
                                    "flux.2-klein-4b-edit-lora",
                                    "flux.2-klein-4b-lora",
                                    "flux.2-klein-9b-edit-lora",
                                    "flux.2-klein-9b-lora",
                                    "flux.2-klein-base-4b-edit-lora",
                                    "flux.2-klein-base-4b-lora",
                                    "flux.2-klein-base-9b-edit-lora",
                                    "flux.2-klein-base-9b-lora",
                                    "flux1.1-pro",
                                    "gpt-image-1",
                                    "qwen-image-2512-lora",
                                    "qwen-image-edit-2509-lora",
                                    "qwen-image-edit-2511-lora",
                                    "qwen-image-edit-lora",
                                    "qwen-image-lora",
                                    "zimage-de-turbo-lora",
                                    "zimage-lora",
                                    "zimage-turbo-lora"
                                  ],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "name": {
                                "description": "The name that must be user to call the model through the API",
                                "type": "string"
                              },
                              "parent": {
                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                "type": "boolean"
                              },
                              "placeholder": {
                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "promptSpark": {
                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "required": {
                                "additionalProperties": false,
                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                "properties": {
                                  "always": {
                                    "description": "Whether the input is always required",
                                    "type": "boolean"
                                  },
                                  "conditional": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when other inputs have one of the listed values",
                                    "properties": {
                                      "operator": {
                                        "default": "and",
                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                        "enum": [
                                          "and",
                                          "or"
                                        ],
                                        "type": "string"
                                      },
                                      "values": {
                                        "additionalProperties": false,
                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "values"
                                    ],
                                    "type": "object"
                                  },
                                  "ifDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  },
                                  "ifNotDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "step": {
                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                "minimum": 1,
                                "type": "number"
                              },
                              "type": {
                                "description": "The data type of the input",
                                "enum": [
                                  "boolean",
                                  "file",
                                  "file_array",
                                  "inputs_array",
                                  "model",
                                  "model_array",
                                  "number",
                                  "number_array",
                                  "string",
                                  "string_array"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "name",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "jobId": {
                          "description": "The ID of the job that trained the model, returned to the model owner only\n(example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "modelKeyword": {
                          "description": "The model keyword, this is a legacy parameter, please use conceptPrompt in parameters",
                          "type": "string"
                        },
                        "name": {
                          "description": "The model name (example: \"Cinematic Realism\")",
                          "type": "string"
                        },
                        "negativePromptEmbedding": {
                          "description": "Fine-tune the model's inferences with negative prompt embedding",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "parameters": {
                          "additionalProperties": false,
                          "description": "The parameters of the model",
                          "properties": {
                            "age": {
                              "description": "Age group of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "batchSize": {
                              "default": 1,
                              "description": "The batch size\nLess steps, and will increase the learning rate\n\nOnly available for Flux LoRA training",
                              "maximum": 4,
                              "minimum": 1,
                              "type": "number"
                            },
                            "classPrompt": {
                              "description": "The prompt to specify images in the same class as provided instance images\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "cloneType": {
                              "default": "instant",
                              "description": "Type of voice cloning: \"instant\" (fast) or \"professional\" (higher quality, requires captcha)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The prompt with identifier specifying the instance (or subject) of the class (example: \"a daiton dog\")\n\nDefault value varies depending on the model type. For Flux LoRA, the default is an empty string.",
                              "type": "string"
                            },
                            "gender": {
                              "description": "Gender of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "language": {
                              "default": "en",
                              "description": "Language of the audio samples (ISO 639-1 code)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "learningRate": {
                              "default": 0.000005,
                              "description": "Initial learning rate (after the potential warmup period)\n\nDefault value varies depending on the model type. For Flux LoRA, the default is 0.0001.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateTextEncoder": {
                              "default": 0.00005,
                              "description": "Initial learning rate (after the potential warmup period) for the text encoder\n\nMaximum [Flux LoRA: 0.001]\nDefault [Flux LoRA: 0.00001]\nMinimum [Flux LoRA: 0.000001]",
                              "exclusiveMinimum": true,
                              "maximum": 0.001,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateUnet": {
                              "default": 0.0005,
                              "description": "Initial learning rate (after the potential warmup period) for the UNet\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "lrScheduler": {
                              "default": "constant",
                              "description": "The scheduler type to use (default: \"constant\")\n\nDeprecated legacy training parameter.",
                              "enum": [
                                "constant",
                                "constant-with-warmup",
                                "cosine",
                                "cosine-with-restarts",
                                "linear",
                                "polynomial"
                              ],
                              "type": "string"
                            },
                            "maxTrainSteps": {
                              "description": "Maximum number of training steps to execute (default: varies depending on the model type)\n\nDefault value varies depending on the model type:\n- For Flux: number of training images * 100\n\nMaximum value varies depending on the model type:\n- For Flux: [0, 10000]",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "nbEpochs": {
                              "default": 10,
                              "description": "The number of epochs to train for\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "nbRepeats": {
                              "default": 20,
                              "description": "The number of times to repeat the training\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "numTextTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the text encoder\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numUNetTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the UNet\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "optimizeFor": {
                              "description": "Optimize the model training task for a specific type of input images. The available values are:\n- \"likeness\": optimize training for likeness or portrait (targets specific transformer blocks)\n- \"all\": train all transformer blocks\n- \"none\": train no specific transformer blocks\n\nThis parameter controls which double and single transformer blocks are trained\nduring the LoRA training process.\n\nOnly available for Flux LoRA training",
                              "enum": [
                                "likeness"
                              ],
                              "type": "string"
                            },
                            "priorLossWeight": {
                              "default": 1,
                              "description": "The weight of prior preservation loss\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "maximum": 1.7976931348623157,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCrop": {
                              "default": false,
                              "description": "Whether to random crop or center crop images before resizing to the working resolution\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "randomCropRatio": {
                              "default": 0,
                              "description": "Ratio of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCropScale": {
                              "default": 1,
                              "description": "Scale of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "rank": {
                              "default": 16,
                              "description": "The dimension of the LoRA update matrices\n\nOnly available for Flux LoRA and Musubi training\n\nDefault value varies depending on the model type:\n- For Flux: 16\n- For Musubi: 64\n\nEach trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])",
                              "maximum": 128,
                              "minimum": 2,
                              "type": "number"
                            },
                            "removeBackgroundNoise": {
                              "default": false,
                              "description": "Whether to remove background noise from audio samples before cloning.\nWhen enabled, each sample must be at least 5 seconds long.\n\nOnly available for ElevenLabs voice training",
                              "type": "boolean"
                            },
                            "samplePrompts": {
                              "default": [],
                              "description": "The prompts to use for each epoch\nOnly available for Flux LoRA training",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "sampleSourceImages": {
                              "default": [],
                              "description": "The sample prompt images (AssetIds) paired with samplePrompts\nOnly available for Flux LoRA training\nMust be the same length as samplePrompts",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "scaleLr": {
                              "default": false,
                              "description": "Whether to scale the learning rate\n\nNote: Legacy parameter, will be ignored\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "seed": {
                              "description": "Used to reproduce previous results. Default: randomly generated number.\n\nDeprecated legacy training parameter.",
                              "maximum": 9007199254740991,
                              "minimum": 0,
                              "type": "number"
                            },
                            "textEncoderTrainingRatio": {
                              "default": 0.2,
                              "description": "Whether to train the text encoder or not\n\nExample: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps\n\nNote: Legacy parameter, please use `numTextTrainSteps` and `numUNetTrainSteps`\n\nDeprecated legacy training parameter.",
                              "maximum": 0.99,
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationFrequency": {
                              "default": 0,
                              "description": "Validation frequency. Cannot be greater than maxTrainSteps value\n\nDeprecated legacy training parameter.",
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationPrompt": {
                              "default": "",
                              "description": "Validation prompt\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "voiceDescription": {
                              "description": "Description of the voice characteristics\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "wandbKey": {
                              "description": "The Weights And Bias key to use for logging. The maximum length is 40 characters",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "parentModelId": {
                          "description": "The id of the parent model",
                          "type": "string"
                        },
                        "performanceStats": {
                          "additionalProperties": false,
                          "description": "Aggregated performance stats",
                          "properties": {
                            "default": {
                              "description": "Default variant key for quick model comparison",
                              "type": "string"
                            },
                            "variants": {
                              "description": "Performance metrics per variant",
                              "items": {
                                "additionalProperties": false,
                                "description": "Performance stats for a model variant",
                                "properties": {
                                  "arenaScore": {
                                    "additionalProperties": false,
                                    "description": "External quality score from arena.ai leaderboard",
                                    "properties": {
                                      "arenaCategory": {
                                        "description": "Arena category (example: \"text_to_image\", \"image_to_video\")",
                                        "type": "string"
                                      },
                                      "arenaModelName": {
                                        "description": "Model name on arena.ai",
                                        "type": "string"
                                      },
                                      "fetchedAt": {
                                        "description": "When this score was last fetched (ISO date)",
                                        "type": "string"
                                      },
                                      "rank": {
                                        "description": "Rank in the arena category",
                                        "type": "number"
                                      },
                                      "rating": {
                                        "description": "ELO rating",
                                        "type": "number"
                                      },
                                      "ratingLower": {
                                        "description": "ELO rating confidence interval lower bound",
                                        "type": "number"
                                      },
                                      "ratingUpper": {
                                        "description": "ELO rating confidence interval upper bound",
                                        "type": "number"
                                      },
                                      "votes": {
                                        "description": "Number of human votes",
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "arenaCategory",
                                      "arenaModelName",
                                      "fetchedAt",
                                      "rank",
                                      "rating",
                                      "ratingLower",
                                      "ratingUpper",
                                      "votes"
                                    ],
                                    "type": "object"
                                  },
                                  "capability": {
                                    "description": "The generation capability (example: \"txt2img\", \"img2video\", \"txt2audio\")",
                                    "type": "string"
                                  },
                                  "computedAt": {
                                    "description": "When these stats were last computed (ISO date)",
                                    "type": "string"
                                  },
                                  "costPerAssetMaxCU": {
                                    "description": "Maximum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetMinCU": {
                                    "description": "Minimum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetP50CU": {
                                    "description": "Median cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP50Sec": {
                                    "description": "Inference latency P50 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP75Sec": {
                                    "description": "Inference latency P75 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "resolution": {
                                    "description": "The resolution bucket (example: \"0.5K\", \"1K\", \"2K\", \"4K\")",
                                    "type": "string"
                                  },
                                  "totalLatencyP50Sec": {
                                    "description": "Total latency P50 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "totalLatencyP75Sec": {
                                    "description": "Total latency P75 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "variantKey": {
                                    "description": "Unique variant identifier (example: \"txt2img:1K\", \"img2video:2K\", \"txt2audio\")",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "capability",
                                  "computedAt",
                                  "variantKey"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "variants"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "default": "private",
                          "description": "The privacy of the model (default: private)",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "promptEmbedding": {
                          "description": "Fine-tune the model's inferences with prompt embedding",
                          "type": "string"
                        },
                        "shortDescription": {
                          "description": "The model short description (example: \"This model generates highly detailed cinematic scenes.\")",
                          "type": "string"
                        },
                        "softDeletionOn": {
                          "description": "The date when the model will be soft deleted (only for Free plan)",
                          "type": "string"
                        },
                        "source": {
                          "description": "The source of the model",
                          "enum": [
                            "civitai",
                            "huggingface",
                            "other",
                            "scenario"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The model status",
                          "enum": [
                            "copying",
                            "failed",
                            "new",
                            "trained",
                            "training",
                            "training-canceled"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "A thumbnail for your model",
                          "properties": {
                            "assetId": {
                              "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                              "type": "string"
                            },
                            "url": {
                              "description": "The url of the image used as a thumbnail for your model",
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "trainingImagePairs": {
                          "description": "Array of training image pairs",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "instruction": {
                                "description": "The instruction for the image pair, source to target",
                                "type": "string"
                              },
                              "sourceId": {
                                "description": "The source asset ID (must be a training asset)",
                                "type": "string"
                              },
                              "targetId": {
                                "description": "The target asset ID (must be a training asset)",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImages": {
                          "description": "The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "automaticCaptioning": {
                                "description": "Automatic captioning of the image",
                                "type": "string"
                              },
                              "createdAt": {
                                "description": "The training image upload date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "description": {
                                "description": "Description for the image",
                                "type": "string"
                              },
                              "downloadUrl": {
                                "description": "The URL of the image",
                                "type": "string"
                              },
                              "id": {
                                "description": "The training image ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "name": {
                                "description": "The original file name of the image (example: \"my-training-image.jpg\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "automaticCaptioning",
                              "createdAt",
                              "description",
                              "downloadUrl",
                              "id",
                              "name"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImagesNumber": {
                          "description": "The total number of training images",
                          "type": "number"
                        },
                        "trainingProgress": {
                          "additionalProperties": false,
                          "description": "Additional information about the training progress of the model",
                          "properties": {
                            "captchaImageUrl": {
                              "description": "Signed URL of the captcha image to read aloud during PVC voice cloning.\nOnly present when stage === 'pending-captcha'. Overwritten on each retry.",
                              "type": "string"
                            },
                            "position": {
                              "description": "Position of the job in the queue (ie. the number of job in the queue before this one)",
                              "type": "number"
                            },
                            "progress": {
                              "description": "The progress of the job",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "remainingTimeMs": {
                              "description": "The remaining time in milliseconds",
                              "type": "number"
                            },
                            "retryCount": {
                              "description": "Number of consecutive PVC step 2 / step 3 failures on this voice model.\nThe model is marked Failed when this reaches the platform's max retries.",
                              "type": "number"
                            },
                            "retryableError": {
                              "description": "Last recoverable failure message during PVC. Present when the model has\nbounced back to stage === 'ready-for-captcha' after a step 2 or step 3\nfailure (e.g. captcha rejected, time limit exceeded). Surface above the\nretry button so the user understands why they're back here.",
                              "type": "string"
                            },
                            "stage": {
                              "description": "The stage of the request",
                              "enum": [
                                "pending",
                                "pending-captcha",
                                "queued-for-train",
                                "ready-for-captcha",
                                "running-train",
                                "starting-train"
                              ],
                              "type": "string"
                            },
                            "startedAt": {
                              "description": "The timestamp in millisecond marking the start of the process",
                              "type": "number"
                            },
                            "updatedAt": {
                              "description": "Timestamp in milliseconds of the last time the training progress was updated",
                              "type": "number"
                            }
                          },
                          "required": [
                            "stage",
                            "updatedAt"
                          ],
                          "type": "object"
                        },
                        "trainingStats": {
                          "additionalProperties": false,
                          "description": "Additional information about the model's training",
                          "properties": {
                            "endedAt": {
                              "description": "The training end time as an ISO date string",
                              "type": "string"
                            },
                            "queueDuration": {
                              "description": "The training queued duration in seconds",
                              "type": "number"
                            },
                            "startedAt": {
                              "description": "The training start time as an ISO date string",
                              "type": "string"
                            },
                            "trainDuration": {
                              "description": "The training duration in seconds",
                              "type": "number"
                            }
                          },
                          "type": "object"
                        },
                        "type": {
                          "description": "The model type (example: \"flux.1-lora\")",
                          "enum": [
                            "custom",
                            "elevenlabs-voice",
                            "flux.1",
                            "flux.1-composition",
                            "flux.1-kontext-dev",
                            "flux.1-kontext-lora",
                            "flux.1-krea-dev",
                            "flux.1-krea-lora",
                            "flux.1-lora",
                            "flux.1-pro",
                            "flux.1.1-pro-ultra",
                            "flux.2-dev-edit-lora",
                            "flux.2-dev-lora",
                            "flux.2-klein-4b-edit-lora",
                            "flux.2-klein-4b-lora",
                            "flux.2-klein-9b-edit-lora",
                            "flux.2-klein-9b-lora",
                            "flux.2-klein-base-4b-edit-lora",
                            "flux.2-klein-base-4b-lora",
                            "flux.2-klein-base-9b-edit-lora",
                            "flux.2-klein-base-9b-lora",
                            "flux1.1-pro",
                            "gpt-image-1",
                            "qwen-image-2512-lora",
                            "qwen-image-edit-2509-lora",
                            "qwen-image-edit-2511-lora",
                            "qwen-image-edit-lora",
                            "qwen-image-lora",
                            "zimage-de-turbo-lora",
                            "zimage-lora",
                            "zimage-turbo-lora"
                          ],
                          "type": "string"
                        },
                        "uiConfig": {
                          "additionalProperties": false,
                          "description": "The UI configuration for the model",
                          "properties": {
                            "inputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "collapsed": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object"
                              },
                              "description": "Configuration for the input properties",
                              "type": "object"
                            },
                            "lorasComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the loras component",
                              "properties": {
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "modelIdInput": {
                                  "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                  "type": "string"
                                },
                                "modelInput": {
                                  "description": "The input name of the model (model_array)",
                                  "type": "string"
                                },
                                "scaleInput": {
                                  "description": "The input name of the scale (number_array)",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label",
                                "modelInput",
                                "scaleInput"
                              ],
                              "type": "object"
                            },
                            "outputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              },
                              "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                              "type": "object"
                            },
                            "presets": {
                              "description": "Configuration for the presets",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "fields": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "presets": {
                                    "additionalProperties": false,
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "fields",
                                  "presets"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "resolutionComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the resolution component",
                              "properties": {
                                "heightInput": {
                                  "description": "The input name of the height",
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "presets": {
                                  "description": "The resolution presets",
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "height": {
                                        "type": "number"
                                      },
                                      "label": {
                                        "type": "string"
                                      },
                                      "width": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "height",
                                      "label",
                                      "width"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "widthInput": {
                                  "description": "The input name of the width",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "heightInput",
                                "label",
                                "presets",
                                "widthInput"
                              ],
                              "type": "object"
                            },
                            "selects": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "type": "object"
                              },
                              "description": "Configuration for the selects",
                              "type": "object"
                            },
                            "triggerGenerate": {
                              "additionalProperties": false,
                              "description": "Configuration for the trigger generate button",
                              "properties": {
                                "after": {
                                  "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "position": {
                                  "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                  "enum": [
                                    "bottom",
                                    "top"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label"
                              ],
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The model last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "userId": {
                          "description": "(Deprecated) The user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "capabilities",
                        "collectionIds",
                        "createdAt",
                        "custom",
                        "exampleAssetIds",
                        "id",
                        "privacy",
                        "source",
                        "status",
                        "tags",
                        "trainingImagesNumber",
                        "type",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "model"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "copyAsTrained": {
                    "type": "boolean",
                    "description": "If set to true, the training data will be copied"
                  },
                  "copyExamples": {
                    "type": "boolean",
                    "description": "true by default, the example images will be copied"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/restore": {
      "post": {
        "operationId": "PostModelsRestoreByModelId",
        "description": "Restore a model deleted in the last 30 days, back to the status it had (an interrupted training comes back as `training-canceled`). Tags and collections are not restored. Max plan and above only. Returns 400 if the model is not deleted, and 410 if it was deleted more than 30 days ago or permanently.",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The id of the deleted model to restore",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "model": {
                      "additionalProperties": false,
                      "properties": {
                        "accessRestrictions": {
                          "description": "The access restrictions of the model\n0: Free plan\n25: Starter plan\n50: Pro plan\n75: Max plan\n100: Enterprise plan",
                          "enum": [
                            0,
                            100,
                            25,
                            50,
                            75
                          ],
                          "type": "number"
                        },
                        "authorId": {
                          "description": "The author user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "capabilities": {
                          "description": "List of model capabilities (example: [\"txt2img\", \"img2img\", \"txt2img_ip_adapter\", ...])",
                          "items": {
                            "enum": [
                              "3d23d",
                              "audio2audio",
                              "audio2txt",
                              "audio2video",
                              "controlnet",
                              "controlnet_img2img",
                              "controlnet_inpaint",
                              "controlnet_inpaint_ip_adapter",
                              "controlnet_ip_adapter",
                              "controlnet_reference",
                              "controlnet_texture",
                              "img23d",
                              "img2img",
                              "img2img_ip_adapter",
                              "img2img_texture",
                              "img2txt",
                              "img2video",
                              "inpaint",
                              "inpaint_ip_adapter",
                              "outpaint",
                              "reference",
                              "reference_texture",
                              "txt23d",
                              "txt2audio",
                              "txt2img",
                              "txt2img_ip_adapter",
                              "txt2img_texture",
                              "txt2txt",
                              "txt2video",
                              "video23d",
                              "video2audio",
                              "video2img",
                              "video2txt",
                              "video2video"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "class": {
                          "additionalProperties": false,
                          "description": "The class of the model",
                          "properties": {
                            "category": {
                              "description": "The category slug of the class (example: \"art-style\")",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The concept prompt of the class (example: \"a sks character design\")",
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The model ID of the class. Only available for legacy models.",
                              "type": "string"
                            },
                            "name": {
                              "description": "The class name (example: \"Character Design\")",
                              "type": "string"
                            },
                            "prompt": {
                              "description": "The class prompt (example: \"a character design\")",
                              "type": "string"
                            },
                            "slug": {
                              "description": "The class slug (example: \"art-style-character-design\")",
                              "type": "string"
                            },
                            "status": {
                              "description": "The class status (only published classes are listed, but unpublished classes can still appear in existing models)",
                              "enum": [
                                "published",
                                "unpublished"
                              ],
                              "type": "string"
                            },
                            "thumbnails": {
                              "description": "Some example images URLs to showcase the class",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "category",
                            "conceptPrompt",
                            "modelId",
                            "name",
                            "prompt",
                            "slug",
                            "status",
                            "thumbnails"
                          ],
                          "type": "object"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this model belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "compliantModelIds": {
                          "description": "List of base model IDs compliant with the model (example: [\"flux.1-dev\", \"flux.1-schnell\"])\nThis attribute is mainly used for Flux LoRA models",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "concepts": {
                          "description": "The concepts is required for the type model: composition",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The model creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "custom": {
                          "description": "Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint",
                          "type": "boolean"
                        },
                        "deletedAt": {
                          "description": "The model deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted models, listed with `status=deleted`.",
                          "type": "string"
                        },
                        "disableRefund": {
                          "description": "When true, credits spent on a generation with this model are not\nautomatically refunded if the generation fails. Absent or false means\nfailed generations are refunded as usual.",
                          "type": "boolean"
                        },
                        "epoch": {
                          "description": "The epoch of the model. Only available for Flux Lora Trained models.\nIf not set, uses the final model epoch (latest)",
                          "type": "string"
                        },
                        "epochs": {
                          "description": "The epochs of the model. Only available for Flux Lora Trained models.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "assets": {
                                "description": "The assets of the epoch if sample prompts as been supplied during training",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "assetId": {
                                      "description": "The AssetId of the image during training (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                      "type": "string"
                                    },
                                    "url": {
                                      "description": "The url of the asset",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "assetId",
                                    "url"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "epoch": {
                                "description": "The epoch hash to identify the epoch",
                                "type": "string"
                              }
                            },
                            "required": [
                              "epoch"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "exampleAssetIds": {
                          "description": "List of all example asset IDs setup by the model owner",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "id": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "inputs": {
                          "description": "The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}",
                          "items": {
                            "additionalProperties": false,
                            "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                            "properties": {
                              "allowedValues": {
                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                "items": {},
                                "type": "array"
                              },
                              "backgroundBehavior": {
                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                "enum": [
                                  "opaque",
                                  "transparent"
                                ],
                                "type": "string"
                              },
                              "color": {
                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "costImpact": {
                                "description": "Whether this input affects the model's cost calculation",
                                "type": "boolean"
                              },
                              "default": {
                                "description": "The default value for the input"
                              },
                              "description": {
                                "description": "Help text displayed in the UI to provide additional information about the input",
                                "type": "string"
                              },
                              "group": {
                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                "type": "string"
                              },
                              "hint": {
                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                "type": "string"
                              },
                              "inputs": {
                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                "items": {
                                  "additionalProperties": true,
                                  "properties": {},
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "kind": {
                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "label": {
                                "description": "The label displayed in the UI for this input",
                                "type": "string"
                              },
                              "maskFrom": {
                                "description": "The name of the file input field to use as the mask source",
                                "type": "string"
                              },
                              "max": {
                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                "type": "number"
                              },
                              "maxDuration": {
                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "maxLength": {
                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "maxSize": {
                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                "type": "number"
                              },
                              "min": {
                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                "type": "number"
                              },
                              "minDuration": {
                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "minLength": {
                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "modelTypes": {
                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                "items": {
                                  "enum": [
                                    "custom",
                                    "elevenlabs-voice",
                                    "flux.1",
                                    "flux.1-composition",
                                    "flux.1-kontext-dev",
                                    "flux.1-kontext-lora",
                                    "flux.1-krea-dev",
                                    "flux.1-krea-lora",
                                    "flux.1-lora",
                                    "flux.1-pro",
                                    "flux.1.1-pro-ultra",
                                    "flux.2-dev-edit-lora",
                                    "flux.2-dev-lora",
                                    "flux.2-klein-4b-edit-lora",
                                    "flux.2-klein-4b-lora",
                                    "flux.2-klein-9b-edit-lora",
                                    "flux.2-klein-9b-lora",
                                    "flux.2-klein-base-4b-edit-lora",
                                    "flux.2-klein-base-4b-lora",
                                    "flux.2-klein-base-9b-edit-lora",
                                    "flux.2-klein-base-9b-lora",
                                    "flux1.1-pro",
                                    "gpt-image-1",
                                    "qwen-image-2512-lora",
                                    "qwen-image-edit-2509-lora",
                                    "qwen-image-edit-2511-lora",
                                    "qwen-image-edit-lora",
                                    "qwen-image-lora",
                                    "zimage-de-turbo-lora",
                                    "zimage-lora",
                                    "zimage-turbo-lora"
                                  ],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "name": {
                                "description": "The name that must be user to call the model through the API",
                                "type": "string"
                              },
                              "parent": {
                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                "type": "boolean"
                              },
                              "placeholder": {
                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "promptSpark": {
                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "required": {
                                "additionalProperties": false,
                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                "properties": {
                                  "always": {
                                    "description": "Whether the input is always required",
                                    "type": "boolean"
                                  },
                                  "conditional": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when other inputs have one of the listed values",
                                    "properties": {
                                      "operator": {
                                        "default": "and",
                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                        "enum": [
                                          "and",
                                          "or"
                                        ],
                                        "type": "string"
                                      },
                                      "values": {
                                        "additionalProperties": false,
                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "values"
                                    ],
                                    "type": "object"
                                  },
                                  "ifDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  },
                                  "ifNotDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "step": {
                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                "minimum": 1,
                                "type": "number"
                              },
                              "type": {
                                "description": "The data type of the input",
                                "enum": [
                                  "boolean",
                                  "file",
                                  "file_array",
                                  "inputs_array",
                                  "model",
                                  "model_array",
                                  "number",
                                  "number_array",
                                  "string",
                                  "string_array"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "name",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "jobId": {
                          "description": "The ID of the job that trained the model, returned to the model owner only\n(example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "modelKeyword": {
                          "description": "The model keyword, this is a legacy parameter, please use conceptPrompt in parameters",
                          "type": "string"
                        },
                        "name": {
                          "description": "The model name (example: \"Cinematic Realism\")",
                          "type": "string"
                        },
                        "negativePromptEmbedding": {
                          "description": "Fine-tune the model's inferences with negative prompt embedding",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "parameters": {
                          "additionalProperties": false,
                          "description": "The parameters of the model",
                          "properties": {
                            "age": {
                              "description": "Age group of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "batchSize": {
                              "default": 1,
                              "description": "The batch size\nLess steps, and will increase the learning rate\n\nOnly available for Flux LoRA training",
                              "maximum": 4,
                              "minimum": 1,
                              "type": "number"
                            },
                            "classPrompt": {
                              "description": "The prompt to specify images in the same class as provided instance images\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "cloneType": {
                              "default": "instant",
                              "description": "Type of voice cloning: \"instant\" (fast) or \"professional\" (higher quality, requires captcha)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The prompt with identifier specifying the instance (or subject) of the class (example: \"a daiton dog\")\n\nDefault value varies depending on the model type. For Flux LoRA, the default is an empty string.",
                              "type": "string"
                            },
                            "gender": {
                              "description": "Gender of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "language": {
                              "default": "en",
                              "description": "Language of the audio samples (ISO 639-1 code)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "learningRate": {
                              "default": 0.000005,
                              "description": "Initial learning rate (after the potential warmup period)\n\nDefault value varies depending on the model type. For Flux LoRA, the default is 0.0001.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateTextEncoder": {
                              "default": 0.00005,
                              "description": "Initial learning rate (after the potential warmup period) for the text encoder\n\nMaximum [Flux LoRA: 0.001]\nDefault [Flux LoRA: 0.00001]\nMinimum [Flux LoRA: 0.000001]",
                              "exclusiveMinimum": true,
                              "maximum": 0.001,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateUnet": {
                              "default": 0.0005,
                              "description": "Initial learning rate (after the potential warmup period) for the UNet\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "lrScheduler": {
                              "default": "constant",
                              "description": "The scheduler type to use (default: \"constant\")\n\nDeprecated legacy training parameter.",
                              "enum": [
                                "constant",
                                "constant-with-warmup",
                                "cosine",
                                "cosine-with-restarts",
                                "linear",
                                "polynomial"
                              ],
                              "type": "string"
                            },
                            "maxTrainSteps": {
                              "description": "Maximum number of training steps to execute (default: varies depending on the model type)\n\nDefault value varies depending on the model type:\n- For Flux: number of training images * 100\n\nMaximum value varies depending on the model type:\n- For Flux: [0, 10000]",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "nbEpochs": {
                              "default": 10,
                              "description": "The number of epochs to train for\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "nbRepeats": {
                              "default": 20,
                              "description": "The number of times to repeat the training\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "numTextTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the text encoder\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numUNetTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the UNet\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "optimizeFor": {
                              "description": "Optimize the model training task for a specific type of input images. The available values are:\n- \"likeness\": optimize training for likeness or portrait (targets specific transformer blocks)\n- \"all\": train all transformer blocks\n- \"none\": train no specific transformer blocks\n\nThis parameter controls which double and single transformer blocks are trained\nduring the LoRA training process.\n\nOnly available for Flux LoRA training",
                              "enum": [
                                "likeness"
                              ],
                              "type": "string"
                            },
                            "priorLossWeight": {
                              "default": 1,
                              "description": "The weight of prior preservation loss\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "maximum": 1.7976931348623157,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCrop": {
                              "default": false,
                              "description": "Whether to random crop or center crop images before resizing to the working resolution\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "randomCropRatio": {
                              "default": 0,
                              "description": "Ratio of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCropScale": {
                              "default": 1,
                              "description": "Scale of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "rank": {
                              "default": 16,
                              "description": "The dimension of the LoRA update matrices\n\nOnly available for Flux LoRA and Musubi training\n\nDefault value varies depending on the model type:\n- For Flux: 16\n- For Musubi: 64\n\nEach trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])",
                              "maximum": 128,
                              "minimum": 2,
                              "type": "number"
                            },
                            "removeBackgroundNoise": {
                              "default": false,
                              "description": "Whether to remove background noise from audio samples before cloning.\nWhen enabled, each sample must be at least 5 seconds long.\n\nOnly available for ElevenLabs voice training",
                              "type": "boolean"
                            },
                            "samplePrompts": {
                              "default": [],
                              "description": "The prompts to use for each epoch\nOnly available for Flux LoRA training",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "sampleSourceImages": {
                              "default": [],
                              "description": "The sample prompt images (AssetIds) paired with samplePrompts\nOnly available for Flux LoRA training\nMust be the same length as samplePrompts",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "scaleLr": {
                              "default": false,
                              "description": "Whether to scale the learning rate\n\nNote: Legacy parameter, will be ignored\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "seed": {
                              "description": "Used to reproduce previous results. Default: randomly generated number.\n\nDeprecated legacy training parameter.",
                              "maximum": 9007199254740991,
                              "minimum": 0,
                              "type": "number"
                            },
                            "textEncoderTrainingRatio": {
                              "default": 0.2,
                              "description": "Whether to train the text encoder or not\n\nExample: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps\n\nNote: Legacy parameter, please use `numTextTrainSteps` and `numUNetTrainSteps`\n\nDeprecated legacy training parameter.",
                              "maximum": 0.99,
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationFrequency": {
                              "default": 0,
                              "description": "Validation frequency. Cannot be greater than maxTrainSteps value\n\nDeprecated legacy training parameter.",
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationPrompt": {
                              "default": "",
                              "description": "Validation prompt\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "voiceDescription": {
                              "description": "Description of the voice characteristics\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "wandbKey": {
                              "description": "The Weights And Bias key to use for logging. The maximum length is 40 characters",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "parentModelId": {
                          "description": "The id of the parent model",
                          "type": "string"
                        },
                        "performanceStats": {
                          "additionalProperties": false,
                          "description": "Aggregated performance stats",
                          "properties": {
                            "default": {
                              "description": "Default variant key for quick model comparison",
                              "type": "string"
                            },
                            "variants": {
                              "description": "Performance metrics per variant",
                              "items": {
                                "additionalProperties": false,
                                "description": "Performance stats for a model variant",
                                "properties": {
                                  "arenaScore": {
                                    "additionalProperties": false,
                                    "description": "External quality score from arena.ai leaderboard",
                                    "properties": {
                                      "arenaCategory": {
                                        "description": "Arena category (example: \"text_to_image\", \"image_to_video\")",
                                        "type": "string"
                                      },
                                      "arenaModelName": {
                                        "description": "Model name on arena.ai",
                                        "type": "string"
                                      },
                                      "fetchedAt": {
                                        "description": "When this score was last fetched (ISO date)",
                                        "type": "string"
                                      },
                                      "rank": {
                                        "description": "Rank in the arena category",
                                        "type": "number"
                                      },
                                      "rating": {
                                        "description": "ELO rating",
                                        "type": "number"
                                      },
                                      "ratingLower": {
                                        "description": "ELO rating confidence interval lower bound",
                                        "type": "number"
                                      },
                                      "ratingUpper": {
                                        "description": "ELO rating confidence interval upper bound",
                                        "type": "number"
                                      },
                                      "votes": {
                                        "description": "Number of human votes",
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "arenaCategory",
                                      "arenaModelName",
                                      "fetchedAt",
                                      "rank",
                                      "rating",
                                      "ratingLower",
                                      "ratingUpper",
                                      "votes"
                                    ],
                                    "type": "object"
                                  },
                                  "capability": {
                                    "description": "The generation capability (example: \"txt2img\", \"img2video\", \"txt2audio\")",
                                    "type": "string"
                                  },
                                  "computedAt": {
                                    "description": "When these stats were last computed (ISO date)",
                                    "type": "string"
                                  },
                                  "costPerAssetMaxCU": {
                                    "description": "Maximum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetMinCU": {
                                    "description": "Minimum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetP50CU": {
                                    "description": "Median cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP50Sec": {
                                    "description": "Inference latency P50 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP75Sec": {
                                    "description": "Inference latency P75 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "resolution": {
                                    "description": "The resolution bucket (example: \"0.5K\", \"1K\", \"2K\", \"4K\")",
                                    "type": "string"
                                  },
                                  "totalLatencyP50Sec": {
                                    "description": "Total latency P50 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "totalLatencyP75Sec": {
                                    "description": "Total latency P75 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "variantKey": {
                                    "description": "Unique variant identifier (example: \"txt2img:1K\", \"img2video:2K\", \"txt2audio\")",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "capability",
                                  "computedAt",
                                  "variantKey"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "variants"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "default": "private",
                          "description": "The privacy of the model (default: private)",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "promptEmbedding": {
                          "description": "Fine-tune the model's inferences with prompt embedding",
                          "type": "string"
                        },
                        "shortDescription": {
                          "description": "The model short description (example: \"This model generates highly detailed cinematic scenes.\")",
                          "type": "string"
                        },
                        "softDeletionOn": {
                          "description": "The date when the model will be soft deleted (only for Free plan)",
                          "type": "string"
                        },
                        "source": {
                          "description": "The source of the model",
                          "enum": [
                            "civitai",
                            "huggingface",
                            "other",
                            "scenario"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The model status",
                          "enum": [
                            "copying",
                            "failed",
                            "new",
                            "trained",
                            "training",
                            "training-canceled"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "A thumbnail for your model",
                          "properties": {
                            "assetId": {
                              "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                              "type": "string"
                            },
                            "url": {
                              "description": "The url of the image used as a thumbnail for your model",
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "trainingImagePairs": {
                          "description": "Array of training image pairs",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "instruction": {
                                "description": "The instruction for the image pair, source to target",
                                "type": "string"
                              },
                              "sourceId": {
                                "description": "The source asset ID (must be a training asset)",
                                "type": "string"
                              },
                              "targetId": {
                                "description": "The target asset ID (must be a training asset)",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImages": {
                          "description": "The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "automaticCaptioning": {
                                "description": "Automatic captioning of the image",
                                "type": "string"
                              },
                              "createdAt": {
                                "description": "The training image upload date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "description": {
                                "description": "Description for the image",
                                "type": "string"
                              },
                              "downloadUrl": {
                                "description": "The URL of the image",
                                "type": "string"
                              },
                              "id": {
                                "description": "The training image ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "name": {
                                "description": "The original file name of the image (example: \"my-training-image.jpg\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "automaticCaptioning",
                              "createdAt",
                              "description",
                              "downloadUrl",
                              "id",
                              "name"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImagesNumber": {
                          "description": "The total number of training images",
                          "type": "number"
                        },
                        "trainingProgress": {
                          "additionalProperties": false,
                          "description": "Additional information about the training progress of the model",
                          "properties": {
                            "captchaImageUrl": {
                              "description": "Signed URL of the captcha image to read aloud during PVC voice cloning.\nOnly present when stage === 'pending-captcha'. Overwritten on each retry.",
                              "type": "string"
                            },
                            "position": {
                              "description": "Position of the job in the queue (ie. the number of job in the queue before this one)",
                              "type": "number"
                            },
                            "progress": {
                              "description": "The progress of the job",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "remainingTimeMs": {
                              "description": "The remaining time in milliseconds",
                              "type": "number"
                            },
                            "retryCount": {
                              "description": "Number of consecutive PVC step 2 / step 3 failures on this voice model.\nThe model is marked Failed when this reaches the platform's max retries.",
                              "type": "number"
                            },
                            "retryableError": {
                              "description": "Last recoverable failure message during PVC. Present when the model has\nbounced back to stage === 'ready-for-captcha' after a step 2 or step 3\nfailure (e.g. captcha rejected, time limit exceeded). Surface above the\nretry button so the user understands why they're back here.",
                              "type": "string"
                            },
                            "stage": {
                              "description": "The stage of the request",
                              "enum": [
                                "pending",
                                "pending-captcha",
                                "queued-for-train",
                                "ready-for-captcha",
                                "running-train",
                                "starting-train"
                              ],
                              "type": "string"
                            },
                            "startedAt": {
                              "description": "The timestamp in millisecond marking the start of the process",
                              "type": "number"
                            },
                            "updatedAt": {
                              "description": "Timestamp in milliseconds of the last time the training progress was updated",
                              "type": "number"
                            }
                          },
                          "required": [
                            "stage",
                            "updatedAt"
                          ],
                          "type": "object"
                        },
                        "trainingStats": {
                          "additionalProperties": false,
                          "description": "Additional information about the model's training",
                          "properties": {
                            "endedAt": {
                              "description": "The training end time as an ISO date string",
                              "type": "string"
                            },
                            "queueDuration": {
                              "description": "The training queued duration in seconds",
                              "type": "number"
                            },
                            "startedAt": {
                              "description": "The training start time as an ISO date string",
                              "type": "string"
                            },
                            "trainDuration": {
                              "description": "The training duration in seconds",
                              "type": "number"
                            }
                          },
                          "type": "object"
                        },
                        "type": {
                          "description": "The model type (example: \"flux.1-lora\")",
                          "enum": [
                            "custom",
                            "elevenlabs-voice",
                            "flux.1",
                            "flux.1-composition",
                            "flux.1-kontext-dev",
                            "flux.1-kontext-lora",
                            "flux.1-krea-dev",
                            "flux.1-krea-lora",
                            "flux.1-lora",
                            "flux.1-pro",
                            "flux.1.1-pro-ultra",
                            "flux.2-dev-edit-lora",
                            "flux.2-dev-lora",
                            "flux.2-klein-4b-edit-lora",
                            "flux.2-klein-4b-lora",
                            "flux.2-klein-9b-edit-lora",
                            "flux.2-klein-9b-lora",
                            "flux.2-klein-base-4b-edit-lora",
                            "flux.2-klein-base-4b-lora",
                            "flux.2-klein-base-9b-edit-lora",
                            "flux.2-klein-base-9b-lora",
                            "flux1.1-pro",
                            "gpt-image-1",
                            "qwen-image-2512-lora",
                            "qwen-image-edit-2509-lora",
                            "qwen-image-edit-2511-lora",
                            "qwen-image-edit-lora",
                            "qwen-image-lora",
                            "zimage-de-turbo-lora",
                            "zimage-lora",
                            "zimage-turbo-lora"
                          ],
                          "type": "string"
                        },
                        "uiConfig": {
                          "additionalProperties": false,
                          "description": "The UI configuration for the model",
                          "properties": {
                            "inputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "collapsed": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object"
                              },
                              "description": "Configuration for the input properties",
                              "type": "object"
                            },
                            "lorasComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the loras component",
                              "properties": {
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "modelIdInput": {
                                  "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                  "type": "string"
                                },
                                "modelInput": {
                                  "description": "The input name of the model (model_array)",
                                  "type": "string"
                                },
                                "scaleInput": {
                                  "description": "The input name of the scale (number_array)",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label",
                                "modelInput",
                                "scaleInput"
                              ],
                              "type": "object"
                            },
                            "outputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              },
                              "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                              "type": "object"
                            },
                            "presets": {
                              "description": "Configuration for the presets",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "fields": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "presets": {
                                    "additionalProperties": false,
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "fields",
                                  "presets"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "resolutionComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the resolution component",
                              "properties": {
                                "heightInput": {
                                  "description": "The input name of the height",
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "presets": {
                                  "description": "The resolution presets",
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "height": {
                                        "type": "number"
                                      },
                                      "label": {
                                        "type": "string"
                                      },
                                      "width": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "height",
                                      "label",
                                      "width"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "widthInput": {
                                  "description": "The input name of the width",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "heightInput",
                                "label",
                                "presets",
                                "widthInput"
                              ],
                              "type": "object"
                            },
                            "selects": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "type": "object"
                              },
                              "description": "Configuration for the selects",
                              "type": "object"
                            },
                            "triggerGenerate": {
                              "additionalProperties": false,
                              "description": "Configuration for the trigger generate button",
                              "properties": {
                                "after": {
                                  "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "position": {
                                  "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                  "enum": [
                                    "bottom",
                                    "top"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label"
                              ],
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The model last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "userId": {
                          "description": "(Deprecated) The user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "capabilities",
                        "collectionIds",
                        "createdAt",
                        "custom",
                        "exampleAssetIds",
                        "id",
                        "privacy",
                        "source",
                        "status",
                        "tags",
                        "trainingImagesNumber",
                        "type",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "model"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/models/{modelId}/transfer": {
      "post": {
        "operationId": "PostModelsTransferByModelId",
        "description": "Transfer (with a copy or a full ownership change) a model to a new owner, including all of its training images",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "model": {
                      "additionalProperties": false,
                      "properties": {
                        "accessRestrictions": {
                          "description": "The access restrictions of the model\n0: Free plan\n25: Starter plan\n50: Pro plan\n75: Max plan\n100: Enterprise plan",
                          "enum": [
                            0,
                            100,
                            25,
                            50,
                            75
                          ],
                          "type": "number"
                        },
                        "authorId": {
                          "description": "The author user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "capabilities": {
                          "description": "List of model capabilities (example: [\"txt2img\", \"img2img\", \"txt2img_ip_adapter\", ...])",
                          "items": {
                            "enum": [
                              "3d23d",
                              "audio2audio",
                              "audio2txt",
                              "audio2video",
                              "controlnet",
                              "controlnet_img2img",
                              "controlnet_inpaint",
                              "controlnet_inpaint_ip_adapter",
                              "controlnet_ip_adapter",
                              "controlnet_reference",
                              "controlnet_texture",
                              "img23d",
                              "img2img",
                              "img2img_ip_adapter",
                              "img2img_texture",
                              "img2txt",
                              "img2video",
                              "inpaint",
                              "inpaint_ip_adapter",
                              "outpaint",
                              "reference",
                              "reference_texture",
                              "txt23d",
                              "txt2audio",
                              "txt2img",
                              "txt2img_ip_adapter",
                              "txt2img_texture",
                              "txt2txt",
                              "txt2video",
                              "video23d",
                              "video2audio",
                              "video2img",
                              "video2txt",
                              "video2video"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "class": {
                          "additionalProperties": false,
                          "description": "The class of the model",
                          "properties": {
                            "category": {
                              "description": "The category slug of the class (example: \"art-style\")",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The concept prompt of the class (example: \"a sks character design\")",
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The model ID of the class. Only available for legacy models.",
                              "type": "string"
                            },
                            "name": {
                              "description": "The class name (example: \"Character Design\")",
                              "type": "string"
                            },
                            "prompt": {
                              "description": "The class prompt (example: \"a character design\")",
                              "type": "string"
                            },
                            "slug": {
                              "description": "The class slug (example: \"art-style-character-design\")",
                              "type": "string"
                            },
                            "status": {
                              "description": "The class status (only published classes are listed, but unpublished classes can still appear in existing models)",
                              "enum": [
                                "published",
                                "unpublished"
                              ],
                              "type": "string"
                            },
                            "thumbnails": {
                              "description": "Some example images URLs to showcase the class",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "category",
                            "conceptPrompt",
                            "modelId",
                            "name",
                            "prompt",
                            "slug",
                            "status",
                            "thumbnails"
                          ],
                          "type": "object"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this model belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "compliantModelIds": {
                          "description": "List of base model IDs compliant with the model (example: [\"flux.1-dev\", \"flux.1-schnell\"])\nThis attribute is mainly used for Flux LoRA models",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "concepts": {
                          "description": "The concepts is required for the type model: composition",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The model creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "custom": {
                          "description": "Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint",
                          "type": "boolean"
                        },
                        "deletedAt": {
                          "description": "The model deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted models, listed with `status=deleted`.",
                          "type": "string"
                        },
                        "disableRefund": {
                          "description": "When true, credits spent on a generation with this model are not\nautomatically refunded if the generation fails. Absent or false means\nfailed generations are refunded as usual.",
                          "type": "boolean"
                        },
                        "epoch": {
                          "description": "The epoch of the model. Only available for Flux Lora Trained models.\nIf not set, uses the final model epoch (latest)",
                          "type": "string"
                        },
                        "epochs": {
                          "description": "The epochs of the model. Only available for Flux Lora Trained models.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "assets": {
                                "description": "The assets of the epoch if sample prompts as been supplied during training",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "assetId": {
                                      "description": "The AssetId of the image during training (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                      "type": "string"
                                    },
                                    "url": {
                                      "description": "The url of the asset",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "assetId",
                                    "url"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "epoch": {
                                "description": "The epoch hash to identify the epoch",
                                "type": "string"
                              }
                            },
                            "required": [
                              "epoch"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "exampleAssetIds": {
                          "description": "List of all example asset IDs setup by the model owner",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "id": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "inputs": {
                          "description": "The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}",
                          "items": {
                            "additionalProperties": false,
                            "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                            "properties": {
                              "allowedValues": {
                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                "items": {},
                                "type": "array"
                              },
                              "backgroundBehavior": {
                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                "enum": [
                                  "opaque",
                                  "transparent"
                                ],
                                "type": "string"
                              },
                              "color": {
                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "costImpact": {
                                "description": "Whether this input affects the model's cost calculation",
                                "type": "boolean"
                              },
                              "default": {
                                "description": "The default value for the input"
                              },
                              "description": {
                                "description": "Help text displayed in the UI to provide additional information about the input",
                                "type": "string"
                              },
                              "group": {
                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                "type": "string"
                              },
                              "hint": {
                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                "type": "string"
                              },
                              "inputs": {
                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                "items": {
                                  "additionalProperties": true,
                                  "properties": {},
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "kind": {
                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "label": {
                                "description": "The label displayed in the UI for this input",
                                "type": "string"
                              },
                              "maskFrom": {
                                "description": "The name of the file input field to use as the mask source",
                                "type": "string"
                              },
                              "max": {
                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                "type": "number"
                              },
                              "maxDuration": {
                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "maxLength": {
                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "maxSize": {
                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                "type": "number"
                              },
                              "min": {
                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                "type": "number"
                              },
                              "minDuration": {
                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "minLength": {
                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "modelTypes": {
                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                "items": {
                                  "enum": [
                                    "custom",
                                    "elevenlabs-voice",
                                    "flux.1",
                                    "flux.1-composition",
                                    "flux.1-kontext-dev",
                                    "flux.1-kontext-lora",
                                    "flux.1-krea-dev",
                                    "flux.1-krea-lora",
                                    "flux.1-lora",
                                    "flux.1-pro",
                                    "flux.1.1-pro-ultra",
                                    "flux.2-dev-edit-lora",
                                    "flux.2-dev-lora",
                                    "flux.2-klein-4b-edit-lora",
                                    "flux.2-klein-4b-lora",
                                    "flux.2-klein-9b-edit-lora",
                                    "flux.2-klein-9b-lora",
                                    "flux.2-klein-base-4b-edit-lora",
                                    "flux.2-klein-base-4b-lora",
                                    "flux.2-klein-base-9b-edit-lora",
                                    "flux.2-klein-base-9b-lora",
                                    "flux1.1-pro",
                                    "gpt-image-1",
                                    "qwen-image-2512-lora",
                                    "qwen-image-edit-2509-lora",
                                    "qwen-image-edit-2511-lora",
                                    "qwen-image-edit-lora",
                                    "qwen-image-lora",
                                    "zimage-de-turbo-lora",
                                    "zimage-lora",
                                    "zimage-turbo-lora"
                                  ],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "name": {
                                "description": "The name that must be user to call the model through the API",
                                "type": "string"
                              },
                              "parent": {
                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                "type": "boolean"
                              },
                              "placeholder": {
                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "promptSpark": {
                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "required": {
                                "additionalProperties": false,
                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                "properties": {
                                  "always": {
                                    "description": "Whether the input is always required",
                                    "type": "boolean"
                                  },
                                  "conditional": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when other inputs have one of the listed values",
                                    "properties": {
                                      "operator": {
                                        "default": "and",
                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                        "enum": [
                                          "and",
                                          "or"
                                        ],
                                        "type": "string"
                                      },
                                      "values": {
                                        "additionalProperties": false,
                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "values"
                                    ],
                                    "type": "object"
                                  },
                                  "ifDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  },
                                  "ifNotDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "step": {
                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                "minimum": 1,
                                "type": "number"
                              },
                              "type": {
                                "description": "The data type of the input",
                                "enum": [
                                  "boolean",
                                  "file",
                                  "file_array",
                                  "inputs_array",
                                  "model",
                                  "model_array",
                                  "number",
                                  "number_array",
                                  "string",
                                  "string_array"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "name",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "jobId": {
                          "description": "The ID of the job that trained the model, returned to the model owner only\n(example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "modelKeyword": {
                          "description": "The model keyword, this is a legacy parameter, please use conceptPrompt in parameters",
                          "type": "string"
                        },
                        "name": {
                          "description": "The model name (example: \"Cinematic Realism\")",
                          "type": "string"
                        },
                        "negativePromptEmbedding": {
                          "description": "Fine-tune the model's inferences with negative prompt embedding",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "parameters": {
                          "additionalProperties": false,
                          "description": "The parameters of the model",
                          "properties": {
                            "age": {
                              "description": "Age group of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "batchSize": {
                              "default": 1,
                              "description": "The batch size\nLess steps, and will increase the learning rate\n\nOnly available for Flux LoRA training",
                              "maximum": 4,
                              "minimum": 1,
                              "type": "number"
                            },
                            "classPrompt": {
                              "description": "The prompt to specify images in the same class as provided instance images\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "cloneType": {
                              "default": "instant",
                              "description": "Type of voice cloning: \"instant\" (fast) or \"professional\" (higher quality, requires captcha)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The prompt with identifier specifying the instance (or subject) of the class (example: \"a daiton dog\")\n\nDefault value varies depending on the model type. For Flux LoRA, the default is an empty string.",
                              "type": "string"
                            },
                            "gender": {
                              "description": "Gender of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "language": {
                              "default": "en",
                              "description": "Language of the audio samples (ISO 639-1 code)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "learningRate": {
                              "default": 0.000005,
                              "description": "Initial learning rate (after the potential warmup period)\n\nDefault value varies depending on the model type. For Flux LoRA, the default is 0.0001.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateTextEncoder": {
                              "default": 0.00005,
                              "description": "Initial learning rate (after the potential warmup period) for the text encoder\n\nMaximum [Flux LoRA: 0.001]\nDefault [Flux LoRA: 0.00001]\nMinimum [Flux LoRA: 0.000001]",
                              "exclusiveMinimum": true,
                              "maximum": 0.001,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateUnet": {
                              "default": 0.0005,
                              "description": "Initial learning rate (after the potential warmup period) for the UNet\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "lrScheduler": {
                              "default": "constant",
                              "description": "The scheduler type to use (default: \"constant\")\n\nDeprecated legacy training parameter.",
                              "enum": [
                                "constant",
                                "constant-with-warmup",
                                "cosine",
                                "cosine-with-restarts",
                                "linear",
                                "polynomial"
                              ],
                              "type": "string"
                            },
                            "maxTrainSteps": {
                              "description": "Maximum number of training steps to execute (default: varies depending on the model type)\n\nDefault value varies depending on the model type:\n- For Flux: number of training images * 100\n\nMaximum value varies depending on the model type:\n- For Flux: [0, 10000]",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "nbEpochs": {
                              "default": 10,
                              "description": "The number of epochs to train for\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "nbRepeats": {
                              "default": 20,
                              "description": "The number of times to repeat the training\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "numTextTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the text encoder\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numUNetTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the UNet\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "optimizeFor": {
                              "description": "Optimize the model training task for a specific type of input images. The available values are:\n- \"likeness\": optimize training for likeness or portrait (targets specific transformer blocks)\n- \"all\": train all transformer blocks\n- \"none\": train no specific transformer blocks\n\nThis parameter controls which double and single transformer blocks are trained\nduring the LoRA training process.\n\nOnly available for Flux LoRA training",
                              "enum": [
                                "likeness"
                              ],
                              "type": "string"
                            },
                            "priorLossWeight": {
                              "default": 1,
                              "description": "The weight of prior preservation loss\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "maximum": 1.7976931348623157,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCrop": {
                              "default": false,
                              "description": "Whether to random crop or center crop images before resizing to the working resolution\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "randomCropRatio": {
                              "default": 0,
                              "description": "Ratio of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCropScale": {
                              "default": 1,
                              "description": "Scale of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "rank": {
                              "default": 16,
                              "description": "The dimension of the LoRA update matrices\n\nOnly available for Flux LoRA and Musubi training\n\nDefault value varies depending on the model type:\n- For Flux: 16\n- For Musubi: 64\n\nEach trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])",
                              "maximum": 128,
                              "minimum": 2,
                              "type": "number"
                            },
                            "removeBackgroundNoise": {
                              "default": false,
                              "description": "Whether to remove background noise from audio samples before cloning.\nWhen enabled, each sample must be at least 5 seconds long.\n\nOnly available for ElevenLabs voice training",
                              "type": "boolean"
                            },
                            "samplePrompts": {
                              "default": [],
                              "description": "The prompts to use for each epoch\nOnly available for Flux LoRA training",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "sampleSourceImages": {
                              "default": [],
                              "description": "The sample prompt images (AssetIds) paired with samplePrompts\nOnly available for Flux LoRA training\nMust be the same length as samplePrompts",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "scaleLr": {
                              "default": false,
                              "description": "Whether to scale the learning rate\n\nNote: Legacy parameter, will be ignored\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "seed": {
                              "description": "Used to reproduce previous results. Default: randomly generated number.\n\nDeprecated legacy training parameter.",
                              "maximum": 9007199254740991,
                              "minimum": 0,
                              "type": "number"
                            },
                            "textEncoderTrainingRatio": {
                              "default": 0.2,
                              "description": "Whether to train the text encoder or not\n\nExample: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps\n\nNote: Legacy parameter, please use `numTextTrainSteps` and `numUNetTrainSteps`\n\nDeprecated legacy training parameter.",
                              "maximum": 0.99,
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationFrequency": {
                              "default": 0,
                              "description": "Validation frequency. Cannot be greater than maxTrainSteps value\n\nDeprecated legacy training parameter.",
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationPrompt": {
                              "default": "",
                              "description": "Validation prompt\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "voiceDescription": {
                              "description": "Description of the voice characteristics\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "wandbKey": {
                              "description": "The Weights And Bias key to use for logging. The maximum length is 40 characters",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "parentModelId": {
                          "description": "The id of the parent model",
                          "type": "string"
                        },
                        "performanceStats": {
                          "additionalProperties": false,
                          "description": "Aggregated performance stats",
                          "properties": {
                            "default": {
                              "description": "Default variant key for quick model comparison",
                              "type": "string"
                            },
                            "variants": {
                              "description": "Performance metrics per variant",
                              "items": {
                                "additionalProperties": false,
                                "description": "Performance stats for a model variant",
                                "properties": {
                                  "arenaScore": {
                                    "additionalProperties": false,
                                    "description": "External quality score from arena.ai leaderboard",
                                    "properties": {
                                      "arenaCategory": {
                                        "description": "Arena category (example: \"text_to_image\", \"image_to_video\")",
                                        "type": "string"
                                      },
                                      "arenaModelName": {
                                        "description": "Model name on arena.ai",
                                        "type": "string"
                                      },
                                      "fetchedAt": {
                                        "description": "When this score was last fetched (ISO date)",
                                        "type": "string"
                                      },
                                      "rank": {
                                        "description": "Rank in the arena category",
                                        "type": "number"
                                      },
                                      "rating": {
                                        "description": "ELO rating",
                                        "type": "number"
                                      },
                                      "ratingLower": {
                                        "description": "ELO rating confidence interval lower bound",
                                        "type": "number"
                                      },
                                      "ratingUpper": {
                                        "description": "ELO rating confidence interval upper bound",
                                        "type": "number"
                                      },
                                      "votes": {
                                        "description": "Number of human votes",
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "arenaCategory",
                                      "arenaModelName",
                                      "fetchedAt",
                                      "rank",
                                      "rating",
                                      "ratingLower",
                                      "ratingUpper",
                                      "votes"
                                    ],
                                    "type": "object"
                                  },
                                  "capability": {
                                    "description": "The generation capability (example: \"txt2img\", \"img2video\", \"txt2audio\")",
                                    "type": "string"
                                  },
                                  "computedAt": {
                                    "description": "When these stats were last computed (ISO date)",
                                    "type": "string"
                                  },
                                  "costPerAssetMaxCU": {
                                    "description": "Maximum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetMinCU": {
                                    "description": "Minimum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetP50CU": {
                                    "description": "Median cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP50Sec": {
                                    "description": "Inference latency P50 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP75Sec": {
                                    "description": "Inference latency P75 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "resolution": {
                                    "description": "The resolution bucket (example: \"0.5K\", \"1K\", \"2K\", \"4K\")",
                                    "type": "string"
                                  },
                                  "totalLatencyP50Sec": {
                                    "description": "Total latency P50 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "totalLatencyP75Sec": {
                                    "description": "Total latency P75 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "variantKey": {
                                    "description": "Unique variant identifier (example: \"txt2img:1K\", \"img2video:2K\", \"txt2audio\")",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "capability",
                                  "computedAt",
                                  "variantKey"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "variants"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "default": "private",
                          "description": "The privacy of the model (default: private)",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "promptEmbedding": {
                          "description": "Fine-tune the model's inferences with prompt embedding",
                          "type": "string"
                        },
                        "shortDescription": {
                          "description": "The model short description (example: \"This model generates highly detailed cinematic scenes.\")",
                          "type": "string"
                        },
                        "softDeletionOn": {
                          "description": "The date when the model will be soft deleted (only for Free plan)",
                          "type": "string"
                        },
                        "source": {
                          "description": "The source of the model",
                          "enum": [
                            "civitai",
                            "huggingface",
                            "other",
                            "scenario"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The model status",
                          "enum": [
                            "copying",
                            "failed",
                            "new",
                            "trained",
                            "training",
                            "training-canceled"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "A thumbnail for your model",
                          "properties": {
                            "assetId": {
                              "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                              "type": "string"
                            },
                            "url": {
                              "description": "The url of the image used as a thumbnail for your model",
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "trainingImagePairs": {
                          "description": "Array of training image pairs",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "instruction": {
                                "description": "The instruction for the image pair, source to target",
                                "type": "string"
                              },
                              "sourceId": {
                                "description": "The source asset ID (must be a training asset)",
                                "type": "string"
                              },
                              "targetId": {
                                "description": "The target asset ID (must be a training asset)",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImages": {
                          "description": "The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "automaticCaptioning": {
                                "description": "Automatic captioning of the image",
                                "type": "string"
                              },
                              "createdAt": {
                                "description": "The training image upload date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "description": {
                                "description": "Description for the image",
                                "type": "string"
                              },
                              "downloadUrl": {
                                "description": "The URL of the image",
                                "type": "string"
                              },
                              "id": {
                                "description": "The training image ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "name": {
                                "description": "The original file name of the image (example: \"my-training-image.jpg\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "automaticCaptioning",
                              "createdAt",
                              "description",
                              "downloadUrl",
                              "id",
                              "name"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImagesNumber": {
                          "description": "The total number of training images",
                          "type": "number"
                        },
                        "trainingProgress": {
                          "additionalProperties": false,
                          "description": "Additional information about the training progress of the model",
                          "properties": {
                            "captchaImageUrl": {
                              "description": "Signed URL of the captcha image to read aloud during PVC voice cloning.\nOnly present when stage === 'pending-captcha'. Overwritten on each retry.",
                              "type": "string"
                            },
                            "position": {
                              "description": "Position of the job in the queue (ie. the number of job in the queue before this one)",
                              "type": "number"
                            },
                            "progress": {
                              "description": "The progress of the job",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "remainingTimeMs": {
                              "description": "The remaining time in milliseconds",
                              "type": "number"
                            },
                            "retryCount": {
                              "description": "Number of consecutive PVC step 2 / step 3 failures on this voice model.\nThe model is marked Failed when this reaches the platform's max retries.",
                              "type": "number"
                            },
                            "retryableError": {
                              "description": "Last recoverable failure message during PVC. Present when the model has\nbounced back to stage === 'ready-for-captcha' after a step 2 or step 3\nfailure (e.g. captcha rejected, time limit exceeded). Surface above the\nretry button so the user understands why they're back here.",
                              "type": "string"
                            },
                            "stage": {
                              "description": "The stage of the request",
                              "enum": [
                                "pending",
                                "pending-captcha",
                                "queued-for-train",
                                "ready-for-captcha",
                                "running-train",
                                "starting-train"
                              ],
                              "type": "string"
                            },
                            "startedAt": {
                              "description": "The timestamp in millisecond marking the start of the process",
                              "type": "number"
                            },
                            "updatedAt": {
                              "description": "Timestamp in milliseconds of the last time the training progress was updated",
                              "type": "number"
                            }
                          },
                          "required": [
                            "stage",
                            "updatedAt"
                          ],
                          "type": "object"
                        },
                        "trainingStats": {
                          "additionalProperties": false,
                          "description": "Additional information about the model's training",
                          "properties": {
                            "endedAt": {
                              "description": "The training end time as an ISO date string",
                              "type": "string"
                            },
                            "queueDuration": {
                              "description": "The training queued duration in seconds",
                              "type": "number"
                            },
                            "startedAt": {
                              "description": "The training start time as an ISO date string",
                              "type": "string"
                            },
                            "trainDuration": {
                              "description": "The training duration in seconds",
                              "type": "number"
                            }
                          },
                          "type": "object"
                        },
                        "type": {
                          "description": "The model type (example: \"flux.1-lora\")",
                          "enum": [
                            "custom",
                            "elevenlabs-voice",
                            "flux.1",
                            "flux.1-composition",
                            "flux.1-kontext-dev",
                            "flux.1-kontext-lora",
                            "flux.1-krea-dev",
                            "flux.1-krea-lora",
                            "flux.1-lora",
                            "flux.1-pro",
                            "flux.1.1-pro-ultra",
                            "flux.2-dev-edit-lora",
                            "flux.2-dev-lora",
                            "flux.2-klein-4b-edit-lora",
                            "flux.2-klein-4b-lora",
                            "flux.2-klein-9b-edit-lora",
                            "flux.2-klein-9b-lora",
                            "flux.2-klein-base-4b-edit-lora",
                            "flux.2-klein-base-4b-lora",
                            "flux.2-klein-base-9b-edit-lora",
                            "flux.2-klein-base-9b-lora",
                            "flux1.1-pro",
                            "gpt-image-1",
                            "qwen-image-2512-lora",
                            "qwen-image-edit-2509-lora",
                            "qwen-image-edit-2511-lora",
                            "qwen-image-edit-lora",
                            "qwen-image-lora",
                            "zimage-de-turbo-lora",
                            "zimage-lora",
                            "zimage-turbo-lora"
                          ],
                          "type": "string"
                        },
                        "uiConfig": {
                          "additionalProperties": false,
                          "description": "The UI configuration for the model",
                          "properties": {
                            "inputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "collapsed": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object"
                              },
                              "description": "Configuration for the input properties",
                              "type": "object"
                            },
                            "lorasComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the loras component",
                              "properties": {
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "modelIdInput": {
                                  "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                  "type": "string"
                                },
                                "modelInput": {
                                  "description": "The input name of the model (model_array)",
                                  "type": "string"
                                },
                                "scaleInput": {
                                  "description": "The input name of the scale (number_array)",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label",
                                "modelInput",
                                "scaleInput"
                              ],
                              "type": "object"
                            },
                            "outputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              },
                              "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                              "type": "object"
                            },
                            "presets": {
                              "description": "Configuration for the presets",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "fields": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "presets": {
                                    "additionalProperties": false,
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "fields",
                                  "presets"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "resolutionComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the resolution component",
                              "properties": {
                                "heightInput": {
                                  "description": "The input name of the height",
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "presets": {
                                  "description": "The resolution presets",
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "height": {
                                        "type": "number"
                                      },
                                      "label": {
                                        "type": "string"
                                      },
                                      "width": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "height",
                                      "label",
                                      "width"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "widthInput": {
                                  "description": "The input name of the width",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "heightInput",
                                "label",
                                "presets",
                                "widthInput"
                              ],
                              "type": "object"
                            },
                            "selects": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "type": "object"
                              },
                              "description": "Configuration for the selects",
                              "type": "object"
                            },
                            "triggerGenerate": {
                              "additionalProperties": false,
                              "description": "Configuration for the trigger generate button",
                              "properties": {
                                "after": {
                                  "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "position": {
                                  "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                  "enum": [
                                    "bottom",
                                    "top"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label"
                              ],
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The model last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "userId": {
                          "description": "(Deprecated) The user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "capabilities",
                        "collectionIds",
                        "createdAt",
                        "custom",
                        "exampleAssetIds",
                        "id",
                        "privacy",
                        "source",
                        "status",
                        "tags",
                        "trainingImagesNumber",
                        "type",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "model"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "destinationProjectId"
                ],
                "properties": {
                  "destinationProjectId": {
                    "type": "string",
                    "description": "The id of the project to copy and transfer the model to"
                  },
                  "destinationTeamId": {
                    "type": "string",
                    "description": "The id of the team to copy and transfer the model to"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/tags": {
      "put": {
        "operationId": "PutModelsTagsByModelId",
        "description": "Add/delete tags for the given `modelId`",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The tags' `modelId`",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "added": {
                      "description": "The list of added tags",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "deleted": {
                      "description": "The list of deleted tags",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "added",
                    "deleted"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "add": {
                    "description": "The list of tags to add",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "delete": {
                    "description": "The list of tags to delete",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "strict": {
                    "default": true,
                    "description": "If true, the function will throw an error if:\n- one of the tags to add already exists\n- one of the tags to delete is not found\nIf false, the endpoint will behave as if it was idempotent",
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/train": {
      "put": {
        "operationId": "PutModelsTrainByModelId",
        "description": "Trigger the given `modelId` training",
        "tags": [
          "Models Training"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The training's `modelId` to trigger",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          },
          {
            "name": "trainingImagesCount",
            "in": "query",
            "required": false,
            "description": "Simulate the number of training images, used for dryRun purpose. Ignored if the model already has training images.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "model": {
                      "additionalProperties": false,
                      "properties": {
                        "accessRestrictions": {
                          "description": "The access restrictions of the model\n0: Free plan\n25: Starter plan\n50: Pro plan\n75: Max plan\n100: Enterprise plan",
                          "enum": [
                            0,
                            100,
                            25,
                            50,
                            75
                          ],
                          "type": "number"
                        },
                        "authorId": {
                          "description": "The author user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "capabilities": {
                          "description": "List of model capabilities (example: [\"txt2img\", \"img2img\", \"txt2img_ip_adapter\", ...])",
                          "items": {
                            "enum": [
                              "3d23d",
                              "audio2audio",
                              "audio2txt",
                              "audio2video",
                              "controlnet",
                              "controlnet_img2img",
                              "controlnet_inpaint",
                              "controlnet_inpaint_ip_adapter",
                              "controlnet_ip_adapter",
                              "controlnet_reference",
                              "controlnet_texture",
                              "img23d",
                              "img2img",
                              "img2img_ip_adapter",
                              "img2img_texture",
                              "img2txt",
                              "img2video",
                              "inpaint",
                              "inpaint_ip_adapter",
                              "outpaint",
                              "reference",
                              "reference_texture",
                              "txt23d",
                              "txt2audio",
                              "txt2img",
                              "txt2img_ip_adapter",
                              "txt2img_texture",
                              "txt2txt",
                              "txt2video",
                              "video23d",
                              "video2audio",
                              "video2img",
                              "video2txt",
                              "video2video"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "class": {
                          "additionalProperties": false,
                          "description": "The class of the model",
                          "properties": {
                            "category": {
                              "description": "The category slug of the class (example: \"art-style\")",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The concept prompt of the class (example: \"a sks character design\")",
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The model ID of the class. Only available for legacy models.",
                              "type": "string"
                            },
                            "name": {
                              "description": "The class name (example: \"Character Design\")",
                              "type": "string"
                            },
                            "prompt": {
                              "description": "The class prompt (example: \"a character design\")",
                              "type": "string"
                            },
                            "slug": {
                              "description": "The class slug (example: \"art-style-character-design\")",
                              "type": "string"
                            },
                            "status": {
                              "description": "The class status (only published classes are listed, but unpublished classes can still appear in existing models)",
                              "enum": [
                                "published",
                                "unpublished"
                              ],
                              "type": "string"
                            },
                            "thumbnails": {
                              "description": "Some example images URLs to showcase the class",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "category",
                            "conceptPrompt",
                            "modelId",
                            "name",
                            "prompt",
                            "slug",
                            "status",
                            "thumbnails"
                          ],
                          "type": "object"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this model belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "compliantModelIds": {
                          "description": "List of base model IDs compliant with the model (example: [\"flux.1-dev\", \"flux.1-schnell\"])\nThis attribute is mainly used for Flux LoRA models",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "concepts": {
                          "description": "The concepts is required for the type model: composition",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The model creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "custom": {
                          "description": "Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint",
                          "type": "boolean"
                        },
                        "deletedAt": {
                          "description": "The model deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted models, listed with `status=deleted`.",
                          "type": "string"
                        },
                        "disableRefund": {
                          "description": "When true, credits spent on a generation with this model are not\nautomatically refunded if the generation fails. Absent or false means\nfailed generations are refunded as usual.",
                          "type": "boolean"
                        },
                        "epoch": {
                          "description": "The epoch of the model. Only available for Flux Lora Trained models.\nIf not set, uses the final model epoch (latest)",
                          "type": "string"
                        },
                        "epochs": {
                          "description": "The epochs of the model. Only available for Flux Lora Trained models.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "assets": {
                                "description": "The assets of the epoch if sample prompts as been supplied during training",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "assetId": {
                                      "description": "The AssetId of the image during training (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                      "type": "string"
                                    },
                                    "url": {
                                      "description": "The url of the asset",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "assetId",
                                    "url"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "epoch": {
                                "description": "The epoch hash to identify the epoch",
                                "type": "string"
                              }
                            },
                            "required": [
                              "epoch"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "exampleAssetIds": {
                          "description": "List of all example asset IDs setup by the model owner",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "id": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "inputs": {
                          "description": "The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}",
                          "items": {
                            "additionalProperties": false,
                            "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                            "properties": {
                              "allowedValues": {
                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                "items": {},
                                "type": "array"
                              },
                              "backgroundBehavior": {
                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                "enum": [
                                  "opaque",
                                  "transparent"
                                ],
                                "type": "string"
                              },
                              "color": {
                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "costImpact": {
                                "description": "Whether this input affects the model's cost calculation",
                                "type": "boolean"
                              },
                              "default": {
                                "description": "The default value for the input"
                              },
                              "description": {
                                "description": "Help text displayed in the UI to provide additional information about the input",
                                "type": "string"
                              },
                              "group": {
                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                "type": "string"
                              },
                              "hint": {
                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                "type": "string"
                              },
                              "inputs": {
                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                "items": {
                                  "additionalProperties": true,
                                  "properties": {},
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "kind": {
                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "label": {
                                "description": "The label displayed in the UI for this input",
                                "type": "string"
                              },
                              "maskFrom": {
                                "description": "The name of the file input field to use as the mask source",
                                "type": "string"
                              },
                              "max": {
                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                "type": "number"
                              },
                              "maxDuration": {
                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "maxLength": {
                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "maxSize": {
                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                "type": "number"
                              },
                              "min": {
                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                "type": "number"
                              },
                              "minDuration": {
                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "minLength": {
                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "modelTypes": {
                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                "items": {
                                  "enum": [
                                    "custom",
                                    "elevenlabs-voice",
                                    "flux.1",
                                    "flux.1-composition",
                                    "flux.1-kontext-dev",
                                    "flux.1-kontext-lora",
                                    "flux.1-krea-dev",
                                    "flux.1-krea-lora",
                                    "flux.1-lora",
                                    "flux.1-pro",
                                    "flux.1.1-pro-ultra",
                                    "flux.2-dev-edit-lora",
                                    "flux.2-dev-lora",
                                    "flux.2-klein-4b-edit-lora",
                                    "flux.2-klein-4b-lora",
                                    "flux.2-klein-9b-edit-lora",
                                    "flux.2-klein-9b-lora",
                                    "flux.2-klein-base-4b-edit-lora",
                                    "flux.2-klein-base-4b-lora",
                                    "flux.2-klein-base-9b-edit-lora",
                                    "flux.2-klein-base-9b-lora",
                                    "flux1.1-pro",
                                    "gpt-image-1",
                                    "qwen-image-2512-lora",
                                    "qwen-image-edit-2509-lora",
                                    "qwen-image-edit-2511-lora",
                                    "qwen-image-edit-lora",
                                    "qwen-image-lora",
                                    "zimage-de-turbo-lora",
                                    "zimage-lora",
                                    "zimage-turbo-lora"
                                  ],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "name": {
                                "description": "The name that must be user to call the model through the API",
                                "type": "string"
                              },
                              "parent": {
                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                "type": "boolean"
                              },
                              "placeholder": {
                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "promptSpark": {
                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "required": {
                                "additionalProperties": false,
                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                "properties": {
                                  "always": {
                                    "description": "Whether the input is always required",
                                    "type": "boolean"
                                  },
                                  "conditional": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when other inputs have one of the listed values",
                                    "properties": {
                                      "operator": {
                                        "default": "and",
                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                        "enum": [
                                          "and",
                                          "or"
                                        ],
                                        "type": "string"
                                      },
                                      "values": {
                                        "additionalProperties": false,
                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "values"
                                    ],
                                    "type": "object"
                                  },
                                  "ifDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  },
                                  "ifNotDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "step": {
                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                "minimum": 1,
                                "type": "number"
                              },
                              "type": {
                                "description": "The data type of the input",
                                "enum": [
                                  "boolean",
                                  "file",
                                  "file_array",
                                  "inputs_array",
                                  "model",
                                  "model_array",
                                  "number",
                                  "number_array",
                                  "string",
                                  "string_array"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "name",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "jobId": {
                          "description": "The ID of the job that trained the model, returned to the model owner only\n(example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "modelKeyword": {
                          "description": "The model keyword, this is a legacy parameter, please use conceptPrompt in parameters",
                          "type": "string"
                        },
                        "name": {
                          "description": "The model name (example: \"Cinematic Realism\")",
                          "type": "string"
                        },
                        "negativePromptEmbedding": {
                          "description": "Fine-tune the model's inferences with negative prompt embedding",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "parameters": {
                          "additionalProperties": false,
                          "description": "The parameters of the model",
                          "properties": {
                            "age": {
                              "description": "Age group of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "batchSize": {
                              "default": 1,
                              "description": "The batch size\nLess steps, and will increase the learning rate\n\nOnly available for Flux LoRA training",
                              "maximum": 4,
                              "minimum": 1,
                              "type": "number"
                            },
                            "classPrompt": {
                              "description": "The prompt to specify images in the same class as provided instance images\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "cloneType": {
                              "default": "instant",
                              "description": "Type of voice cloning: \"instant\" (fast) or \"professional\" (higher quality, requires captcha)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The prompt with identifier specifying the instance (or subject) of the class (example: \"a daiton dog\")\n\nDefault value varies depending on the model type. For Flux LoRA, the default is an empty string.",
                              "type": "string"
                            },
                            "gender": {
                              "description": "Gender of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "language": {
                              "default": "en",
                              "description": "Language of the audio samples (ISO 639-1 code)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "learningRate": {
                              "default": 0.000005,
                              "description": "Initial learning rate (after the potential warmup period)\n\nDefault value varies depending on the model type. For Flux LoRA, the default is 0.0001.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateTextEncoder": {
                              "default": 0.00005,
                              "description": "Initial learning rate (after the potential warmup period) for the text encoder\n\nMaximum [Flux LoRA: 0.001]\nDefault [Flux LoRA: 0.00001]\nMinimum [Flux LoRA: 0.000001]",
                              "exclusiveMinimum": true,
                              "maximum": 0.001,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateUnet": {
                              "default": 0.0005,
                              "description": "Initial learning rate (after the potential warmup period) for the UNet\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "lrScheduler": {
                              "default": "constant",
                              "description": "The scheduler type to use (default: \"constant\")\n\nDeprecated legacy training parameter.",
                              "enum": [
                                "constant",
                                "constant-with-warmup",
                                "cosine",
                                "cosine-with-restarts",
                                "linear",
                                "polynomial"
                              ],
                              "type": "string"
                            },
                            "maxTrainSteps": {
                              "description": "Maximum number of training steps to execute (default: varies depending on the model type)\n\nDefault value varies depending on the model type:\n- For Flux: number of training images * 100\n\nMaximum value varies depending on the model type:\n- For Flux: [0, 10000]",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "nbEpochs": {
                              "default": 10,
                              "description": "The number of epochs to train for\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "nbRepeats": {
                              "default": 20,
                              "description": "The number of times to repeat the training\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "numTextTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the text encoder\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numUNetTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the UNet\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "optimizeFor": {
                              "description": "Optimize the model training task for a specific type of input images. The available values are:\n- \"likeness\": optimize training for likeness or portrait (targets specific transformer blocks)\n- \"all\": train all transformer blocks\n- \"none\": train no specific transformer blocks\n\nThis parameter controls which double and single transformer blocks are trained\nduring the LoRA training process.\n\nOnly available for Flux LoRA training",
                              "enum": [
                                "likeness"
                              ],
                              "type": "string"
                            },
                            "priorLossWeight": {
                              "default": 1,
                              "description": "The weight of prior preservation loss\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "maximum": 1.7976931348623157,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCrop": {
                              "default": false,
                              "description": "Whether to random crop or center crop images before resizing to the working resolution\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "randomCropRatio": {
                              "default": 0,
                              "description": "Ratio of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCropScale": {
                              "default": 1,
                              "description": "Scale of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "rank": {
                              "default": 16,
                              "description": "The dimension of the LoRA update matrices\n\nOnly available for Flux LoRA and Musubi training\n\nDefault value varies depending on the model type:\n- For Flux: 16\n- For Musubi: 64\n\nEach trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])",
                              "maximum": 128,
                              "minimum": 2,
                              "type": "number"
                            },
                            "removeBackgroundNoise": {
                              "default": false,
                              "description": "Whether to remove background noise from audio samples before cloning.\nWhen enabled, each sample must be at least 5 seconds long.\n\nOnly available for ElevenLabs voice training",
                              "type": "boolean"
                            },
                            "samplePrompts": {
                              "default": [],
                              "description": "The prompts to use for each epoch\nOnly available for Flux LoRA training",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "sampleSourceImages": {
                              "default": [],
                              "description": "The sample prompt images (AssetIds) paired with samplePrompts\nOnly available for Flux LoRA training\nMust be the same length as samplePrompts",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "scaleLr": {
                              "default": false,
                              "description": "Whether to scale the learning rate\n\nNote: Legacy parameter, will be ignored\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "seed": {
                              "description": "Used to reproduce previous results. Default: randomly generated number.\n\nDeprecated legacy training parameter.",
                              "maximum": 9007199254740991,
                              "minimum": 0,
                              "type": "number"
                            },
                            "textEncoderTrainingRatio": {
                              "default": 0.2,
                              "description": "Whether to train the text encoder or not\n\nExample: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps\n\nNote: Legacy parameter, please use `numTextTrainSteps` and `numUNetTrainSteps`\n\nDeprecated legacy training parameter.",
                              "maximum": 0.99,
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationFrequency": {
                              "default": 0,
                              "description": "Validation frequency. Cannot be greater than maxTrainSteps value\n\nDeprecated legacy training parameter.",
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationPrompt": {
                              "default": "",
                              "description": "Validation prompt\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "voiceDescription": {
                              "description": "Description of the voice characteristics\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "wandbKey": {
                              "description": "The Weights And Bias key to use for logging. The maximum length is 40 characters",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "parentModelId": {
                          "description": "The id of the parent model",
                          "type": "string"
                        },
                        "performanceStats": {
                          "additionalProperties": false,
                          "description": "Aggregated performance stats",
                          "properties": {
                            "default": {
                              "description": "Default variant key for quick model comparison",
                              "type": "string"
                            },
                            "variants": {
                              "description": "Performance metrics per variant",
                              "items": {
                                "additionalProperties": false,
                                "description": "Performance stats for a model variant",
                                "properties": {
                                  "arenaScore": {
                                    "additionalProperties": false,
                                    "description": "External quality score from arena.ai leaderboard",
                                    "properties": {
                                      "arenaCategory": {
                                        "description": "Arena category (example: \"text_to_image\", \"image_to_video\")",
                                        "type": "string"
                                      },
                                      "arenaModelName": {
                                        "description": "Model name on arena.ai",
                                        "type": "string"
                                      },
                                      "fetchedAt": {
                                        "description": "When this score was last fetched (ISO date)",
                                        "type": "string"
                                      },
                                      "rank": {
                                        "description": "Rank in the arena category",
                                        "type": "number"
                                      },
                                      "rating": {
                                        "description": "ELO rating",
                                        "type": "number"
                                      },
                                      "ratingLower": {
                                        "description": "ELO rating confidence interval lower bound",
                                        "type": "number"
                                      },
                                      "ratingUpper": {
                                        "description": "ELO rating confidence interval upper bound",
                                        "type": "number"
                                      },
                                      "votes": {
                                        "description": "Number of human votes",
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "arenaCategory",
                                      "arenaModelName",
                                      "fetchedAt",
                                      "rank",
                                      "rating",
                                      "ratingLower",
                                      "ratingUpper",
                                      "votes"
                                    ],
                                    "type": "object"
                                  },
                                  "capability": {
                                    "description": "The generation capability (example: \"txt2img\", \"img2video\", \"txt2audio\")",
                                    "type": "string"
                                  },
                                  "computedAt": {
                                    "description": "When these stats were last computed (ISO date)",
                                    "type": "string"
                                  },
                                  "costPerAssetMaxCU": {
                                    "description": "Maximum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetMinCU": {
                                    "description": "Minimum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetP50CU": {
                                    "description": "Median cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP50Sec": {
                                    "description": "Inference latency P50 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP75Sec": {
                                    "description": "Inference latency P75 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "resolution": {
                                    "description": "The resolution bucket (example: \"0.5K\", \"1K\", \"2K\", \"4K\")",
                                    "type": "string"
                                  },
                                  "totalLatencyP50Sec": {
                                    "description": "Total latency P50 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "totalLatencyP75Sec": {
                                    "description": "Total latency P75 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "variantKey": {
                                    "description": "Unique variant identifier (example: \"txt2img:1K\", \"img2video:2K\", \"txt2audio\")",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "capability",
                                  "computedAt",
                                  "variantKey"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "variants"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "default": "private",
                          "description": "The privacy of the model (default: private)",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "promptEmbedding": {
                          "description": "Fine-tune the model's inferences with prompt embedding",
                          "type": "string"
                        },
                        "shortDescription": {
                          "description": "The model short description (example: \"This model generates highly detailed cinematic scenes.\")",
                          "type": "string"
                        },
                        "softDeletionOn": {
                          "description": "The date when the model will be soft deleted (only for Free plan)",
                          "type": "string"
                        },
                        "source": {
                          "description": "The source of the model",
                          "enum": [
                            "civitai",
                            "huggingface",
                            "other",
                            "scenario"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The model status",
                          "enum": [
                            "copying",
                            "failed",
                            "new",
                            "trained",
                            "training",
                            "training-canceled"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "A thumbnail for your model",
                          "properties": {
                            "assetId": {
                              "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                              "type": "string"
                            },
                            "url": {
                              "description": "The url of the image used as a thumbnail for your model",
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "trainingImagePairs": {
                          "description": "Array of training image pairs",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "instruction": {
                                "description": "The instruction for the image pair, source to target",
                                "type": "string"
                              },
                              "sourceId": {
                                "description": "The source asset ID (must be a training asset)",
                                "type": "string"
                              },
                              "targetId": {
                                "description": "The target asset ID (must be a training asset)",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImages": {
                          "description": "The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "automaticCaptioning": {
                                "description": "Automatic captioning of the image",
                                "type": "string"
                              },
                              "createdAt": {
                                "description": "The training image upload date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "description": {
                                "description": "Description for the image",
                                "type": "string"
                              },
                              "downloadUrl": {
                                "description": "The URL of the image",
                                "type": "string"
                              },
                              "id": {
                                "description": "The training image ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "name": {
                                "description": "The original file name of the image (example: \"my-training-image.jpg\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "automaticCaptioning",
                              "createdAt",
                              "description",
                              "downloadUrl",
                              "id",
                              "name"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImagesNumber": {
                          "description": "The total number of training images",
                          "type": "number"
                        },
                        "trainingProgress": {
                          "additionalProperties": false,
                          "description": "Additional information about the training progress of the model",
                          "properties": {
                            "captchaImageUrl": {
                              "description": "Signed URL of the captcha image to read aloud during PVC voice cloning.\nOnly present when stage === 'pending-captcha'. Overwritten on each retry.",
                              "type": "string"
                            },
                            "position": {
                              "description": "Position of the job in the queue (ie. the number of job in the queue before this one)",
                              "type": "number"
                            },
                            "progress": {
                              "description": "The progress of the job",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "remainingTimeMs": {
                              "description": "The remaining time in milliseconds",
                              "type": "number"
                            },
                            "retryCount": {
                              "description": "Number of consecutive PVC step 2 / step 3 failures on this voice model.\nThe model is marked Failed when this reaches the platform's max retries.",
                              "type": "number"
                            },
                            "retryableError": {
                              "description": "Last recoverable failure message during PVC. Present when the model has\nbounced back to stage === 'ready-for-captcha' after a step 2 or step 3\nfailure (e.g. captcha rejected, time limit exceeded). Surface above the\nretry button so the user understands why they're back here.",
                              "type": "string"
                            },
                            "stage": {
                              "description": "The stage of the request",
                              "enum": [
                                "pending",
                                "pending-captcha",
                                "queued-for-train",
                                "ready-for-captcha",
                                "running-train",
                                "starting-train"
                              ],
                              "type": "string"
                            },
                            "startedAt": {
                              "description": "The timestamp in millisecond marking the start of the process",
                              "type": "number"
                            },
                            "updatedAt": {
                              "description": "Timestamp in milliseconds of the last time the training progress was updated",
                              "type": "number"
                            }
                          },
                          "required": [
                            "stage",
                            "updatedAt"
                          ],
                          "type": "object"
                        },
                        "trainingStats": {
                          "additionalProperties": false,
                          "description": "Additional information about the model's training",
                          "properties": {
                            "endedAt": {
                              "description": "The training end time as an ISO date string",
                              "type": "string"
                            },
                            "queueDuration": {
                              "description": "The training queued duration in seconds",
                              "type": "number"
                            },
                            "startedAt": {
                              "description": "The training start time as an ISO date string",
                              "type": "string"
                            },
                            "trainDuration": {
                              "description": "The training duration in seconds",
                              "type": "number"
                            }
                          },
                          "type": "object"
                        },
                        "type": {
                          "description": "The model type (example: \"flux.1-lora\")",
                          "enum": [
                            "custom",
                            "elevenlabs-voice",
                            "flux.1",
                            "flux.1-composition",
                            "flux.1-kontext-dev",
                            "flux.1-kontext-lora",
                            "flux.1-krea-dev",
                            "flux.1-krea-lora",
                            "flux.1-lora",
                            "flux.1-pro",
                            "flux.1.1-pro-ultra",
                            "flux.2-dev-edit-lora",
                            "flux.2-dev-lora",
                            "flux.2-klein-4b-edit-lora",
                            "flux.2-klein-4b-lora",
                            "flux.2-klein-9b-edit-lora",
                            "flux.2-klein-9b-lora",
                            "flux.2-klein-base-4b-edit-lora",
                            "flux.2-klein-base-4b-lora",
                            "flux.2-klein-base-9b-edit-lora",
                            "flux.2-klein-base-9b-lora",
                            "flux1.1-pro",
                            "gpt-image-1",
                            "qwen-image-2512-lora",
                            "qwen-image-edit-2509-lora",
                            "qwen-image-edit-2511-lora",
                            "qwen-image-edit-lora",
                            "qwen-image-lora",
                            "zimage-de-turbo-lora",
                            "zimage-lora",
                            "zimage-turbo-lora"
                          ],
                          "type": "string"
                        },
                        "uiConfig": {
                          "additionalProperties": false,
                          "description": "The UI configuration for the model",
                          "properties": {
                            "inputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "collapsed": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object"
                              },
                              "description": "Configuration for the input properties",
                              "type": "object"
                            },
                            "lorasComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the loras component",
                              "properties": {
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "modelIdInput": {
                                  "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                  "type": "string"
                                },
                                "modelInput": {
                                  "description": "The input name of the model (model_array)",
                                  "type": "string"
                                },
                                "scaleInput": {
                                  "description": "The input name of the scale (number_array)",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label",
                                "modelInput",
                                "scaleInput"
                              ],
                              "type": "object"
                            },
                            "outputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              },
                              "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                              "type": "object"
                            },
                            "presets": {
                              "description": "Configuration for the presets",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "fields": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "presets": {
                                    "additionalProperties": false,
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "fields",
                                  "presets"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "resolutionComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the resolution component",
                              "properties": {
                                "heightInput": {
                                  "description": "The input name of the height",
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "presets": {
                                  "description": "The resolution presets",
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "height": {
                                        "type": "number"
                                      },
                                      "label": {
                                        "type": "string"
                                      },
                                      "width": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "height",
                                      "label",
                                      "width"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "widthInput": {
                                  "description": "The input name of the width",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "heightInput",
                                "label",
                                "presets",
                                "widthInput"
                              ],
                              "type": "object"
                            },
                            "selects": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "type": "object"
                              },
                              "description": "Configuration for the selects",
                              "type": "object"
                            },
                            "triggerGenerate": {
                              "additionalProperties": false,
                              "description": "Configuration for the trigger generate button",
                              "properties": {
                                "after": {
                                  "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "position": {
                                  "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                  "enum": [
                                    "bottom",
                                    "top"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label"
                              ],
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The model last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "userId": {
                          "description": "(Deprecated) The user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "capabilities",
                        "collectionIds",
                        "createdAt",
                        "custom",
                        "exampleAssetIds",
                        "id",
                        "privacy",
                        "source",
                        "status",
                        "tags",
                        "trainingImagesNumber",
                        "type",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "model",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "parameters": {
                    "additionalProperties": false,
                    "properties": {
                      "age": {
                        "description": "Age group of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                        "type": "string"
                      },
                      "batchSize": {
                        "default": 1,
                        "description": "The batch size\nLess steps, and will increase the learning rate\n\nOnly available for Flux LoRA training",
                        "maximum": 4,
                        "minimum": 1,
                        "type": "number"
                      },
                      "classPrompt": {
                        "description": "The prompt to specify images in the same class as provided instance images\n\nDeprecated legacy training parameter.",
                        "type": "string"
                      },
                      "cloneType": {
                        "default": "instant",
                        "description": "Type of voice cloning: \"instant\" (fast) or \"professional\" (higher quality, requires captcha)\n\nOnly available for ElevenLabs voice training",
                        "type": "string"
                      },
                      "conceptPrompt": {
                        "description": "The prompt with identifier specifying the instance (or subject) of the class (example: \"a daiton dog\")\n\nDefault value varies depending on the model type. For Flux LoRA, the default is an empty string.",
                        "type": "string"
                      },
                      "gender": {
                        "description": "Gender of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                        "type": "string"
                      },
                      "language": {
                        "default": "en",
                        "description": "Language of the audio samples (ISO 639-1 code)\n\nOnly available for ElevenLabs voice training",
                        "type": "string"
                      },
                      "learningRate": {
                        "default": 0.000005,
                        "description": "Initial learning rate (after the potential warmup period)\n\nDefault value varies depending on the model type. For Flux LoRA, the default is 0.0001.",
                        "exclusiveMinimum": true,
                        "minimum": 0,
                        "type": "number"
                      },
                      "learningRateTextEncoder": {
                        "default": 0.00005,
                        "description": "Initial learning rate (after the potential warmup period) for the text encoder\n\nMaximum [Flux LoRA: 0.001]\nDefault [Flux LoRA: 0.00001]\nMinimum [Flux LoRA: 0.000001]",
                        "exclusiveMinimum": true,
                        "maximum": 0.001,
                        "minimum": 0,
                        "type": "number"
                      },
                      "learningRateUnet": {
                        "default": 0.0005,
                        "description": "Initial learning rate (after the potential warmup period) for the UNet\n\nDeprecated legacy training parameter.",
                        "exclusiveMinimum": true,
                        "minimum": 0,
                        "type": "number"
                      },
                      "lrScheduler": {
                        "default": "constant",
                        "description": "The scheduler type to use (default: \"constant\")\n\nDeprecated legacy training parameter.",
                        "enum": [
                          "constant",
                          "constant-with-warmup",
                          "cosine",
                          "cosine-with-restarts",
                          "linear",
                          "polynomial"
                        ],
                        "type": "string"
                      },
                      "maxTrainSteps": {
                        "description": "Maximum number of training steps to execute (default: varies depending on the model type)\n\nDefault value varies depending on the model type:\n- For Flux: number of training images * 100\n\nMaximum value varies depending on the model type:\n- For Flux: [0, 10000]",
                        "maximum": 40000,
                        "minimum": 0,
                        "type": "number"
                      },
                      "nbEpochs": {
                        "default": 10,
                        "description": "The number of epochs to train for\n\nOnly available for Flux LoRA training",
                        "maximum": 30,
                        "minimum": 1,
                        "type": "number"
                      },
                      "nbRepeats": {
                        "default": 20,
                        "description": "The number of times to repeat the training\n\nOnly available for Flux LoRA training",
                        "maximum": 30,
                        "minimum": 1,
                        "type": "number"
                      },
                      "numTextTrainSteps": {
                        "default": 0,
                        "description": "The number of training steps for the text encoder\n\nDeprecated legacy training parameter.",
                        "maximum": 40000,
                        "minimum": 0,
                        "type": "number"
                      },
                      "numUNetTrainSteps": {
                        "default": 0,
                        "description": "The number of training steps for the UNet\n\nDeprecated legacy training parameter.",
                        "maximum": 40000,
                        "minimum": 0,
                        "type": "number"
                      },
                      "optimizeFor": {
                        "description": "Optimize the model training task for a specific type of input images. The available values are:\n- \"likeness\": optimize training for likeness or portrait (targets specific transformer blocks)\n- \"all\": train all transformer blocks\n- \"none\": train no specific transformer blocks\n\nThis parameter controls which double and single transformer blocks are trained\nduring the LoRA training process.\n\nOnly available for Flux LoRA training",
                        "enum": [
                          "likeness"
                        ],
                        "type": "string"
                      },
                      "priorLossWeight": {
                        "default": 1,
                        "description": "The weight of prior preservation loss\n\nDeprecated legacy training parameter.",
                        "exclusiveMinimum": true,
                        "maximum": 1.7976931348623157,
                        "minimum": 0,
                        "type": "number"
                      },
                      "randomCrop": {
                        "default": false,
                        "description": "Whether to random crop or center crop images before resizing to the working resolution\n\nDeprecated legacy training parameter.",
                        "type": "boolean"
                      },
                      "randomCropRatio": {
                        "default": 0,
                        "description": "Ratio of random crops\n\nDeprecated legacy training parameter.",
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "randomCropScale": {
                        "default": 1,
                        "description": "Scale of random crops\n\nDeprecated legacy training parameter.",
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "rank": {
                        "default": 16,
                        "description": "The dimension of the LoRA update matrices\n\nOnly available for Flux LoRA and Musubi training\n\nDefault value varies depending on the model type:\n- For Flux: 16\n- For Musubi: 64\n\nEach trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])",
                        "maximum": 128,
                        "minimum": 2,
                        "type": "number"
                      },
                      "removeBackgroundNoise": {
                        "default": false,
                        "description": "Whether to remove background noise from audio samples before cloning.\nWhen enabled, each sample must be at least 5 seconds long.\n\nOnly available for ElevenLabs voice training",
                        "type": "boolean"
                      },
                      "samplePrompts": {
                        "default": [],
                        "description": "The prompts to use for each epoch\nOnly available for Flux LoRA training",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "sampleSourceImages": {
                        "default": [],
                        "description": "The sample prompt images (AssetIds) paired with samplePrompts\nOnly available for Flux LoRA training\nMust be the same length as samplePrompts",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "scaleLr": {
                        "default": false,
                        "description": "Whether to scale the learning rate\n\nNote: Legacy parameter, will be ignored\n\nDeprecated legacy training parameter.",
                        "type": "boolean"
                      },
                      "seed": {
                        "description": "Used to reproduce previous results. Default: randomly generated number.\n\nDeprecated legacy training parameter.",
                        "maximum": 9007199254740991,
                        "minimum": 0,
                        "type": "number"
                      },
                      "textEncoderTrainingRatio": {
                        "default": 0.2,
                        "description": "Whether to train the text encoder or not\n\nExample: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps\n\nNote: Legacy parameter, please use `numTextTrainSteps` and `numUNetTrainSteps`\n\nDeprecated legacy training parameter.",
                        "maximum": 0.99,
                        "minimum": 0,
                        "type": "number"
                      },
                      "validationFrequency": {
                        "default": 0,
                        "description": "Validation frequency. Cannot be greater than maxTrainSteps value\n\nDeprecated legacy training parameter.",
                        "minimum": 0,
                        "type": "number"
                      },
                      "validationPrompt": {
                        "default": "",
                        "description": "Validation prompt\n\nDeprecated legacy training parameter.",
                        "type": "string"
                      },
                      "voiceDescription": {
                        "description": "Description of the voice characteristics\n\nOnly available for ElevenLabs voice training",
                        "type": "string"
                      },
                      "wandbKey": {
                        "description": "The Weights And Bias key to use for logging. The maximum length is 40 characters",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/train/action": {
      "post": {
        "operationId": "PostModelTrainingActionByModelId",
        "description": "Trigger an action on a model training: cancel",
        "tags": [
          "Models Training"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The `modelId` being trained",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "model": {
                      "additionalProperties": false,
                      "properties": {
                        "accessRestrictions": {
                          "description": "The access restrictions of the model\n0: Free plan\n25: Starter plan\n50: Pro plan\n75: Max plan\n100: Enterprise plan",
                          "enum": [
                            0,
                            100,
                            25,
                            50,
                            75
                          ],
                          "type": "number"
                        },
                        "authorId": {
                          "description": "The author user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "capabilities": {
                          "description": "List of model capabilities (example: [\"txt2img\", \"img2img\", \"txt2img_ip_adapter\", ...])",
                          "items": {
                            "enum": [
                              "3d23d",
                              "audio2audio",
                              "audio2txt",
                              "audio2video",
                              "controlnet",
                              "controlnet_img2img",
                              "controlnet_inpaint",
                              "controlnet_inpaint_ip_adapter",
                              "controlnet_ip_adapter",
                              "controlnet_reference",
                              "controlnet_texture",
                              "img23d",
                              "img2img",
                              "img2img_ip_adapter",
                              "img2img_texture",
                              "img2txt",
                              "img2video",
                              "inpaint",
                              "inpaint_ip_adapter",
                              "outpaint",
                              "reference",
                              "reference_texture",
                              "txt23d",
                              "txt2audio",
                              "txt2img",
                              "txt2img_ip_adapter",
                              "txt2img_texture",
                              "txt2txt",
                              "txt2video",
                              "video23d",
                              "video2audio",
                              "video2img",
                              "video2txt",
                              "video2video"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "class": {
                          "additionalProperties": false,
                          "description": "The class of the model",
                          "properties": {
                            "category": {
                              "description": "The category slug of the class (example: \"art-style\")",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The concept prompt of the class (example: \"a sks character design\")",
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The model ID of the class. Only available for legacy models.",
                              "type": "string"
                            },
                            "name": {
                              "description": "The class name (example: \"Character Design\")",
                              "type": "string"
                            },
                            "prompt": {
                              "description": "The class prompt (example: \"a character design\")",
                              "type": "string"
                            },
                            "slug": {
                              "description": "The class slug (example: \"art-style-character-design\")",
                              "type": "string"
                            },
                            "status": {
                              "description": "The class status (only published classes are listed, but unpublished classes can still appear in existing models)",
                              "enum": [
                                "published",
                                "unpublished"
                              ],
                              "type": "string"
                            },
                            "thumbnails": {
                              "description": "Some example images URLs to showcase the class",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "category",
                            "conceptPrompt",
                            "modelId",
                            "name",
                            "prompt",
                            "slug",
                            "status",
                            "thumbnails"
                          ],
                          "type": "object"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this model belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "compliantModelIds": {
                          "description": "List of base model IDs compliant with the model (example: [\"flux.1-dev\", \"flux.1-schnell\"])\nThis attribute is mainly used for Flux LoRA models",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "concepts": {
                          "description": "The concepts is required for the type model: composition",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The model creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "custom": {
                          "description": "Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint",
                          "type": "boolean"
                        },
                        "deletedAt": {
                          "description": "The model deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted models, listed with `status=deleted`.",
                          "type": "string"
                        },
                        "disableRefund": {
                          "description": "When true, credits spent on a generation with this model are not\nautomatically refunded if the generation fails. Absent or false means\nfailed generations are refunded as usual.",
                          "type": "boolean"
                        },
                        "epoch": {
                          "description": "The epoch of the model. Only available for Flux Lora Trained models.\nIf not set, uses the final model epoch (latest)",
                          "type": "string"
                        },
                        "epochs": {
                          "description": "The epochs of the model. Only available for Flux Lora Trained models.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "assets": {
                                "description": "The assets of the epoch if sample prompts as been supplied during training",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "assetId": {
                                      "description": "The AssetId of the image during training (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                      "type": "string"
                                    },
                                    "url": {
                                      "description": "The url of the asset",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "assetId",
                                    "url"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "epoch": {
                                "description": "The epoch hash to identify the epoch",
                                "type": "string"
                              }
                            },
                            "required": [
                              "epoch"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "exampleAssetIds": {
                          "description": "List of all example asset IDs setup by the model owner",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "id": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "inputs": {
                          "description": "The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}",
                          "items": {
                            "additionalProperties": false,
                            "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                            "properties": {
                              "allowedValues": {
                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                "items": {},
                                "type": "array"
                              },
                              "backgroundBehavior": {
                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                "enum": [
                                  "opaque",
                                  "transparent"
                                ],
                                "type": "string"
                              },
                              "color": {
                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "costImpact": {
                                "description": "Whether this input affects the model's cost calculation",
                                "type": "boolean"
                              },
                              "default": {
                                "description": "The default value for the input"
                              },
                              "description": {
                                "description": "Help text displayed in the UI to provide additional information about the input",
                                "type": "string"
                              },
                              "group": {
                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                "type": "string"
                              },
                              "hint": {
                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                "type": "string"
                              },
                              "inputs": {
                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                "items": {
                                  "additionalProperties": true,
                                  "properties": {},
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "kind": {
                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "label": {
                                "description": "The label displayed in the UI for this input",
                                "type": "string"
                              },
                              "maskFrom": {
                                "description": "The name of the file input field to use as the mask source",
                                "type": "string"
                              },
                              "max": {
                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                "type": "number"
                              },
                              "maxDuration": {
                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "maxLength": {
                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "maxSize": {
                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                "type": "number"
                              },
                              "min": {
                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                "type": "number"
                              },
                              "minDuration": {
                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "minLength": {
                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "modelTypes": {
                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                "items": {
                                  "enum": [
                                    "custom",
                                    "elevenlabs-voice",
                                    "flux.1",
                                    "flux.1-composition",
                                    "flux.1-kontext-dev",
                                    "flux.1-kontext-lora",
                                    "flux.1-krea-dev",
                                    "flux.1-krea-lora",
                                    "flux.1-lora",
                                    "flux.1-pro",
                                    "flux.1.1-pro-ultra",
                                    "flux.2-dev-edit-lora",
                                    "flux.2-dev-lora",
                                    "flux.2-klein-4b-edit-lora",
                                    "flux.2-klein-4b-lora",
                                    "flux.2-klein-9b-edit-lora",
                                    "flux.2-klein-9b-lora",
                                    "flux.2-klein-base-4b-edit-lora",
                                    "flux.2-klein-base-4b-lora",
                                    "flux.2-klein-base-9b-edit-lora",
                                    "flux.2-klein-base-9b-lora",
                                    "flux1.1-pro",
                                    "gpt-image-1",
                                    "qwen-image-2512-lora",
                                    "qwen-image-edit-2509-lora",
                                    "qwen-image-edit-2511-lora",
                                    "qwen-image-edit-lora",
                                    "qwen-image-lora",
                                    "zimage-de-turbo-lora",
                                    "zimage-lora",
                                    "zimage-turbo-lora"
                                  ],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "name": {
                                "description": "The name that must be user to call the model through the API",
                                "type": "string"
                              },
                              "parent": {
                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                "type": "boolean"
                              },
                              "placeholder": {
                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "promptSpark": {
                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "required": {
                                "additionalProperties": false,
                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                "properties": {
                                  "always": {
                                    "description": "Whether the input is always required",
                                    "type": "boolean"
                                  },
                                  "conditional": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when other inputs have one of the listed values",
                                    "properties": {
                                      "operator": {
                                        "default": "and",
                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                        "enum": [
                                          "and",
                                          "or"
                                        ],
                                        "type": "string"
                                      },
                                      "values": {
                                        "additionalProperties": false,
                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "values"
                                    ],
                                    "type": "object"
                                  },
                                  "ifDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  },
                                  "ifNotDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "step": {
                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                "minimum": 1,
                                "type": "number"
                              },
                              "type": {
                                "description": "The data type of the input",
                                "enum": [
                                  "boolean",
                                  "file",
                                  "file_array",
                                  "inputs_array",
                                  "model",
                                  "model_array",
                                  "number",
                                  "number_array",
                                  "string",
                                  "string_array"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "name",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "jobId": {
                          "description": "The ID of the job that trained the model, returned to the model owner only\n(example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "modelKeyword": {
                          "description": "The model keyword, this is a legacy parameter, please use conceptPrompt in parameters",
                          "type": "string"
                        },
                        "name": {
                          "description": "The model name (example: \"Cinematic Realism\")",
                          "type": "string"
                        },
                        "negativePromptEmbedding": {
                          "description": "Fine-tune the model's inferences with negative prompt embedding",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "parameters": {
                          "additionalProperties": false,
                          "description": "The parameters of the model",
                          "properties": {
                            "age": {
                              "description": "Age group of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "batchSize": {
                              "default": 1,
                              "description": "The batch size\nLess steps, and will increase the learning rate\n\nOnly available for Flux LoRA training",
                              "maximum": 4,
                              "minimum": 1,
                              "type": "number"
                            },
                            "classPrompt": {
                              "description": "The prompt to specify images in the same class as provided instance images\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "cloneType": {
                              "default": "instant",
                              "description": "Type of voice cloning: \"instant\" (fast) or \"professional\" (higher quality, requires captcha)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The prompt with identifier specifying the instance (or subject) of the class (example: \"a daiton dog\")\n\nDefault value varies depending on the model type. For Flux LoRA, the default is an empty string.",
                              "type": "string"
                            },
                            "gender": {
                              "description": "Gender of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "language": {
                              "default": "en",
                              "description": "Language of the audio samples (ISO 639-1 code)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "learningRate": {
                              "default": 0.000005,
                              "description": "Initial learning rate (after the potential warmup period)\n\nDefault value varies depending on the model type. For Flux LoRA, the default is 0.0001.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateTextEncoder": {
                              "default": 0.00005,
                              "description": "Initial learning rate (after the potential warmup period) for the text encoder\n\nMaximum [Flux LoRA: 0.001]\nDefault [Flux LoRA: 0.00001]\nMinimum [Flux LoRA: 0.000001]",
                              "exclusiveMinimum": true,
                              "maximum": 0.001,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateUnet": {
                              "default": 0.0005,
                              "description": "Initial learning rate (after the potential warmup period) for the UNet\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "lrScheduler": {
                              "default": "constant",
                              "description": "The scheduler type to use (default: \"constant\")\n\nDeprecated legacy training parameter.",
                              "enum": [
                                "constant",
                                "constant-with-warmup",
                                "cosine",
                                "cosine-with-restarts",
                                "linear",
                                "polynomial"
                              ],
                              "type": "string"
                            },
                            "maxTrainSteps": {
                              "description": "Maximum number of training steps to execute (default: varies depending on the model type)\n\nDefault value varies depending on the model type:\n- For Flux: number of training images * 100\n\nMaximum value varies depending on the model type:\n- For Flux: [0, 10000]",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "nbEpochs": {
                              "default": 10,
                              "description": "The number of epochs to train for\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "nbRepeats": {
                              "default": 20,
                              "description": "The number of times to repeat the training\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "numTextTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the text encoder\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numUNetTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the UNet\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "optimizeFor": {
                              "description": "Optimize the model training task for a specific type of input images. The available values are:\n- \"likeness\": optimize training for likeness or portrait (targets specific transformer blocks)\n- \"all\": train all transformer blocks\n- \"none\": train no specific transformer blocks\n\nThis parameter controls which double and single transformer blocks are trained\nduring the LoRA training process.\n\nOnly available for Flux LoRA training",
                              "enum": [
                                "likeness"
                              ],
                              "type": "string"
                            },
                            "priorLossWeight": {
                              "default": 1,
                              "description": "The weight of prior preservation loss\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "maximum": 1.7976931348623157,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCrop": {
                              "default": false,
                              "description": "Whether to random crop or center crop images before resizing to the working resolution\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "randomCropRatio": {
                              "default": 0,
                              "description": "Ratio of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCropScale": {
                              "default": 1,
                              "description": "Scale of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "rank": {
                              "default": 16,
                              "description": "The dimension of the LoRA update matrices\n\nOnly available for Flux LoRA and Musubi training\n\nDefault value varies depending on the model type:\n- For Flux: 16\n- For Musubi: 64\n\nEach trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])",
                              "maximum": 128,
                              "minimum": 2,
                              "type": "number"
                            },
                            "removeBackgroundNoise": {
                              "default": false,
                              "description": "Whether to remove background noise from audio samples before cloning.\nWhen enabled, each sample must be at least 5 seconds long.\n\nOnly available for ElevenLabs voice training",
                              "type": "boolean"
                            },
                            "samplePrompts": {
                              "default": [],
                              "description": "The prompts to use for each epoch\nOnly available for Flux LoRA training",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "sampleSourceImages": {
                              "default": [],
                              "description": "The sample prompt images (AssetIds) paired with samplePrompts\nOnly available for Flux LoRA training\nMust be the same length as samplePrompts",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "scaleLr": {
                              "default": false,
                              "description": "Whether to scale the learning rate\n\nNote: Legacy parameter, will be ignored\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "seed": {
                              "description": "Used to reproduce previous results. Default: randomly generated number.\n\nDeprecated legacy training parameter.",
                              "maximum": 9007199254740991,
                              "minimum": 0,
                              "type": "number"
                            },
                            "textEncoderTrainingRatio": {
                              "default": 0.2,
                              "description": "Whether to train the text encoder or not\n\nExample: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps\n\nNote: Legacy parameter, please use `numTextTrainSteps` and `numUNetTrainSteps`\n\nDeprecated legacy training parameter.",
                              "maximum": 0.99,
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationFrequency": {
                              "default": 0,
                              "description": "Validation frequency. Cannot be greater than maxTrainSteps value\n\nDeprecated legacy training parameter.",
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationPrompt": {
                              "default": "",
                              "description": "Validation prompt\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "voiceDescription": {
                              "description": "Description of the voice characteristics\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "wandbKey": {
                              "description": "The Weights And Bias key to use for logging. The maximum length is 40 characters",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "parentModelId": {
                          "description": "The id of the parent model",
                          "type": "string"
                        },
                        "performanceStats": {
                          "additionalProperties": false,
                          "description": "Aggregated performance stats",
                          "properties": {
                            "default": {
                              "description": "Default variant key for quick model comparison",
                              "type": "string"
                            },
                            "variants": {
                              "description": "Performance metrics per variant",
                              "items": {
                                "additionalProperties": false,
                                "description": "Performance stats for a model variant",
                                "properties": {
                                  "arenaScore": {
                                    "additionalProperties": false,
                                    "description": "External quality score from arena.ai leaderboard",
                                    "properties": {
                                      "arenaCategory": {
                                        "description": "Arena category (example: \"text_to_image\", \"image_to_video\")",
                                        "type": "string"
                                      },
                                      "arenaModelName": {
                                        "description": "Model name on arena.ai",
                                        "type": "string"
                                      },
                                      "fetchedAt": {
                                        "description": "When this score was last fetched (ISO date)",
                                        "type": "string"
                                      },
                                      "rank": {
                                        "description": "Rank in the arena category",
                                        "type": "number"
                                      },
                                      "rating": {
                                        "description": "ELO rating",
                                        "type": "number"
                                      },
                                      "ratingLower": {
                                        "description": "ELO rating confidence interval lower bound",
                                        "type": "number"
                                      },
                                      "ratingUpper": {
                                        "description": "ELO rating confidence interval upper bound",
                                        "type": "number"
                                      },
                                      "votes": {
                                        "description": "Number of human votes",
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "arenaCategory",
                                      "arenaModelName",
                                      "fetchedAt",
                                      "rank",
                                      "rating",
                                      "ratingLower",
                                      "ratingUpper",
                                      "votes"
                                    ],
                                    "type": "object"
                                  },
                                  "capability": {
                                    "description": "The generation capability (example: \"txt2img\", \"img2video\", \"txt2audio\")",
                                    "type": "string"
                                  },
                                  "computedAt": {
                                    "description": "When these stats were last computed (ISO date)",
                                    "type": "string"
                                  },
                                  "costPerAssetMaxCU": {
                                    "description": "Maximum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetMinCU": {
                                    "description": "Minimum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetP50CU": {
                                    "description": "Median cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP50Sec": {
                                    "description": "Inference latency P50 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP75Sec": {
                                    "description": "Inference latency P75 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "resolution": {
                                    "description": "The resolution bucket (example: \"0.5K\", \"1K\", \"2K\", \"4K\")",
                                    "type": "string"
                                  },
                                  "totalLatencyP50Sec": {
                                    "description": "Total latency P50 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "totalLatencyP75Sec": {
                                    "description": "Total latency P75 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "variantKey": {
                                    "description": "Unique variant identifier (example: \"txt2img:1K\", \"img2video:2K\", \"txt2audio\")",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "capability",
                                  "computedAt",
                                  "variantKey"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "variants"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "default": "private",
                          "description": "The privacy of the model (default: private)",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "promptEmbedding": {
                          "description": "Fine-tune the model's inferences with prompt embedding",
                          "type": "string"
                        },
                        "shortDescription": {
                          "description": "The model short description (example: \"This model generates highly detailed cinematic scenes.\")",
                          "type": "string"
                        },
                        "softDeletionOn": {
                          "description": "The date when the model will be soft deleted (only for Free plan)",
                          "type": "string"
                        },
                        "source": {
                          "description": "The source of the model",
                          "enum": [
                            "civitai",
                            "huggingface",
                            "other",
                            "scenario"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The model status",
                          "enum": [
                            "copying",
                            "failed",
                            "new",
                            "trained",
                            "training",
                            "training-canceled"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "A thumbnail for your model",
                          "properties": {
                            "assetId": {
                              "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                              "type": "string"
                            },
                            "url": {
                              "description": "The url of the image used as a thumbnail for your model",
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "trainingImagePairs": {
                          "description": "Array of training image pairs",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "instruction": {
                                "description": "The instruction for the image pair, source to target",
                                "type": "string"
                              },
                              "sourceId": {
                                "description": "The source asset ID (must be a training asset)",
                                "type": "string"
                              },
                              "targetId": {
                                "description": "The target asset ID (must be a training asset)",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImages": {
                          "description": "The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "automaticCaptioning": {
                                "description": "Automatic captioning of the image",
                                "type": "string"
                              },
                              "createdAt": {
                                "description": "The training image upload date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "description": {
                                "description": "Description for the image",
                                "type": "string"
                              },
                              "downloadUrl": {
                                "description": "The URL of the image",
                                "type": "string"
                              },
                              "id": {
                                "description": "The training image ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "name": {
                                "description": "The original file name of the image (example: \"my-training-image.jpg\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "automaticCaptioning",
                              "createdAt",
                              "description",
                              "downloadUrl",
                              "id",
                              "name"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImagesNumber": {
                          "description": "The total number of training images",
                          "type": "number"
                        },
                        "trainingProgress": {
                          "additionalProperties": false,
                          "description": "Additional information about the training progress of the model",
                          "properties": {
                            "captchaImageUrl": {
                              "description": "Signed URL of the captcha image to read aloud during PVC voice cloning.\nOnly present when stage === 'pending-captcha'. Overwritten on each retry.",
                              "type": "string"
                            },
                            "position": {
                              "description": "Position of the job in the queue (ie. the number of job in the queue before this one)",
                              "type": "number"
                            },
                            "progress": {
                              "description": "The progress of the job",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "remainingTimeMs": {
                              "description": "The remaining time in milliseconds",
                              "type": "number"
                            },
                            "retryCount": {
                              "description": "Number of consecutive PVC step 2 / step 3 failures on this voice model.\nThe model is marked Failed when this reaches the platform's max retries.",
                              "type": "number"
                            },
                            "retryableError": {
                              "description": "Last recoverable failure message during PVC. Present when the model has\nbounced back to stage === 'ready-for-captcha' after a step 2 or step 3\nfailure (e.g. captcha rejected, time limit exceeded). Surface above the\nretry button so the user understands why they're back here.",
                              "type": "string"
                            },
                            "stage": {
                              "description": "The stage of the request",
                              "enum": [
                                "pending",
                                "pending-captcha",
                                "queued-for-train",
                                "ready-for-captcha",
                                "running-train",
                                "starting-train"
                              ],
                              "type": "string"
                            },
                            "startedAt": {
                              "description": "The timestamp in millisecond marking the start of the process",
                              "type": "number"
                            },
                            "updatedAt": {
                              "description": "Timestamp in milliseconds of the last time the training progress was updated",
                              "type": "number"
                            }
                          },
                          "required": [
                            "stage",
                            "updatedAt"
                          ],
                          "type": "object"
                        },
                        "trainingStats": {
                          "additionalProperties": false,
                          "description": "Additional information about the model's training",
                          "properties": {
                            "endedAt": {
                              "description": "The training end time as an ISO date string",
                              "type": "string"
                            },
                            "queueDuration": {
                              "description": "The training queued duration in seconds",
                              "type": "number"
                            },
                            "startedAt": {
                              "description": "The training start time as an ISO date string",
                              "type": "string"
                            },
                            "trainDuration": {
                              "description": "The training duration in seconds",
                              "type": "number"
                            }
                          },
                          "type": "object"
                        },
                        "type": {
                          "description": "The model type (example: \"flux.1-lora\")",
                          "enum": [
                            "custom",
                            "elevenlabs-voice",
                            "flux.1",
                            "flux.1-composition",
                            "flux.1-kontext-dev",
                            "flux.1-kontext-lora",
                            "flux.1-krea-dev",
                            "flux.1-krea-lora",
                            "flux.1-lora",
                            "flux.1-pro",
                            "flux.1.1-pro-ultra",
                            "flux.2-dev-edit-lora",
                            "flux.2-dev-lora",
                            "flux.2-klein-4b-edit-lora",
                            "flux.2-klein-4b-lora",
                            "flux.2-klein-9b-edit-lora",
                            "flux.2-klein-9b-lora",
                            "flux.2-klein-base-4b-edit-lora",
                            "flux.2-klein-base-4b-lora",
                            "flux.2-klein-base-9b-edit-lora",
                            "flux.2-klein-base-9b-lora",
                            "flux1.1-pro",
                            "gpt-image-1",
                            "qwen-image-2512-lora",
                            "qwen-image-edit-2509-lora",
                            "qwen-image-edit-2511-lora",
                            "qwen-image-edit-lora",
                            "qwen-image-lora",
                            "zimage-de-turbo-lora",
                            "zimage-lora",
                            "zimage-turbo-lora"
                          ],
                          "type": "string"
                        },
                        "uiConfig": {
                          "additionalProperties": false,
                          "description": "The UI configuration for the model",
                          "properties": {
                            "inputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "collapsed": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object"
                              },
                              "description": "Configuration for the input properties",
                              "type": "object"
                            },
                            "lorasComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the loras component",
                              "properties": {
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "modelIdInput": {
                                  "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                  "type": "string"
                                },
                                "modelInput": {
                                  "description": "The input name of the model (model_array)",
                                  "type": "string"
                                },
                                "scaleInput": {
                                  "description": "The input name of the scale (number_array)",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label",
                                "modelInput",
                                "scaleInput"
                              ],
                              "type": "object"
                            },
                            "outputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              },
                              "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                              "type": "object"
                            },
                            "presets": {
                              "description": "Configuration for the presets",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "fields": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "presets": {
                                    "additionalProperties": false,
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "fields",
                                  "presets"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "resolutionComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the resolution component",
                              "properties": {
                                "heightInput": {
                                  "description": "The input name of the height",
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "presets": {
                                  "description": "The resolution presets",
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "height": {
                                        "type": "number"
                                      },
                                      "label": {
                                        "type": "string"
                                      },
                                      "width": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "height",
                                      "label",
                                      "width"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "widthInput": {
                                  "description": "The input name of the width",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "heightInput",
                                "label",
                                "presets",
                                "widthInput"
                              ],
                              "type": "object"
                            },
                            "selects": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "type": "object"
                              },
                              "description": "Configuration for the selects",
                              "type": "object"
                            },
                            "triggerGenerate": {
                              "additionalProperties": false,
                              "description": "Configuration for the trigger generate button",
                              "properties": {
                                "after": {
                                  "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "position": {
                                  "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                  "enum": [
                                    "bottom",
                                    "top"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label"
                              ],
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The model last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "userId": {
                          "description": "(Deprecated) The user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "capabilities",
                        "collectionIds",
                        "createdAt",
                        "custom",
                        "exampleAssetIds",
                        "id",
                        "privacy",
                        "source",
                        "status",
                        "tags",
                        "trainingImagesNumber",
                        "type",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "model"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "action": {
                    "description": "The action to perform on the model training",
                    "enum": [
                      "cancel"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "action"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/training-images": {
      "post": {
        "operationId": "PostModelsTrainingImagesByModelId",
        "description": "Add a new training image to the given `modelId`",
        "tags": [
          "Models Training"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The `modelId` where the training image will be stored",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "trainingImage": {
                      "additionalProperties": false,
                      "properties": {
                        "automaticCaptioning": {
                          "description": "Automatic captioning of the image",
                          "type": "string"
                        },
                        "createdAt": {
                          "description": "The training image upload date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "description": {
                          "description": "Description for the image",
                          "type": "string"
                        },
                        "downloadUrl": {
                          "description": "The URL of the image",
                          "type": "string"
                        },
                        "id": {
                          "description": "The training image ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "name": {
                          "description": "The original file name of the image (example: \"my-training-image.jpg\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "automaticCaptioning",
                        "createdAt",
                        "description",
                        "downloadUrl",
                        "id",
                        "name"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "trainingImage"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "assetId": {
                    "description": "The asset ID to use as a training image (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\"). If provided, \"data\" and \"name\" parameters will be ignored.",
                    "type": "string"
                  },
                  "assetIds": {
                    "description": "The asset IDs to use as training images (example: [\"asset_GTrL3mq4SXWyMxkOHRxlpw\", \"asset_GTrL3mq4SXWyMxkOHRxlpw\"])\nUsed in batch mode, up to 10 asset IDs are allowed. Cannot be used with \"assetId\" or \"data\" and \"name\" parameters.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "data": {
                    "description": "The training image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\")",
                    "type": "string"
                  },
                  "name": {
                    "description": "The original file name of the image (example: \"my-training-image.jpg\")",
                    "type": "string"
                  },
                  "preset": {
                    "description": "The preset to use for training images",
                    "enum": [
                      "default",
                      "style",
                      "subject"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/training-images/{trainingImageId}": {
      "delete": {
        "operationId": "DeleteModelsTrainingImagesByModelIdAndTrainingImageId",
        "description": "Delete the given `trainingImageId` from the given `modelId`",
        "tags": [
          "Models Training"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The training image's `modelId`",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "trainingImageId",
            "in": "path",
            "required": true,
            "description": "The training image's `trainingImageId` to delete",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "operationId": "PutModelsTrainingImagesByModelIdAndTrainingImageId",
        "description": "Replace the given `trainingImageId` for the given `modelId`",
        "tags": [
          "Models Training"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The training image's `modelId`",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "trainingImageId",
            "in": "path",
            "required": true,
            "description": "The training image's `trainingImageId` to replace",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "trainingImage": {
                      "additionalProperties": false,
                      "properties": {
                        "automaticCaptioning": {
                          "description": "Automatic captioning of the image",
                          "type": "string"
                        },
                        "createdAt": {
                          "description": "The training image upload date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "description": {
                          "description": "Description for the image",
                          "type": "string"
                        },
                        "downloadUrl": {
                          "description": "The URL of the image",
                          "type": "string"
                        },
                        "id": {
                          "description": "The training image ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "name": {
                          "description": "The original file name of the image (example: \"my-training-image.jpg\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "automaticCaptioning",
                        "createdAt",
                        "description",
                        "downloadUrl",
                        "id",
                        "name"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "trainingImage"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "assetId": {
                    "description": "The asset ID to use as a training image (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\"). If provided, \"data\" and \"name\" parameters will be ignored.",
                    "type": "string"
                  },
                  "assetIds": {
                    "description": "The asset IDs to use as training images (example: [\"asset_GTrL3mq4SXWyMxkOHRxlpw\", \"asset_GTrL3mq4SXWyMxkOHRxlpw\"])\nUsed in batch mode, up to 10 asset IDs are allowed. Cannot be used with \"assetId\" or \"data\" and \"name\" parameters.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "data": {
                    "description": "The training image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\")",
                    "type": "string"
                  },
                  "name": {
                    "description": "The original file name of the image (example: \"my-training-image.jpg\")",
                    "type": "string"
                  },
                  "preset": {
                    "description": "The preset to use for training images",
                    "enum": [
                      "default",
                      "style",
                      "subject"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/training-images/pairs": {
      "put": {
        "operationId": "PutModelsTrainingImagesPairsByModelId",
        "description": "Replace all training image pairs for the given `modelId`",
        "tags": [
          "Models Training"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The `modelId` where the training image pairs will be stored",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pairs": {
                      "type": "array",
                      "description": "Array of training image pairs",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "instruction": {
                            "description": "The instruction for the image pair, source to target",
                            "type": "string"
                          },
                          "sourceId": {
                            "description": "The source asset ID (must be a training asset)",
                            "type": "string"
                          },
                          "targetId": {
                            "description": "The target asset ID (must be a training asset)",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "count": {
                      "type": "number",
                      "description": "Number of training image pairs"
                    }
                  },
                  "required": [
                    "pairs",
                    "count"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "description": "Array of training image pairs",
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "instruction": {
                      "description": "The instruction for the image pair, source to target",
                      "type": "string"
                    },
                    "sourceId": {
                      "description": "The source asset ID (must be a training asset)",
                      "type": "string"
                    },
                    "targetId": {
                      "description": "The target asset ID (must be a training asset)",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "maxItems": 50
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/images": {
      "delete": {
        "operationId": "DeleteModelsImagesByModelId",
        "description": "Delete an image",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The images' `modelId` to delete",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "required": true,
            "description": "The asset ids of the images to delete",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/models/{modelId}/examples": {
      "put": {
        "operationId": "PutModelsExamplesByModelId",
        "description": "Add/delete/sort examples of the given `modelId`",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The examples' `modelId` to update",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "examples": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "asset": {
                            "additionalProperties": false,
                            "description": "Asset generated by the inference",
                            "properties": {
                              "authorId": {
                                "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                                "type": "string"
                              },
                              "automaticCaptioning": {
                                "description": "Automatic captioning of the asset",
                                "type": "string"
                              },
                              "collectionIds": {
                                "description": "A list of CollectionId this asset belongs to",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "createdAt": {
                                "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "deletedAt": {
                                "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                                "type": "string"
                              },
                              "description": {
                                "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                                "type": "string"
                              },
                              "editCapabilities": {
                                "description": "List of edit capabilities",
                                "items": {
                                  "enum": [
                                    "DETECTION",
                                    "GENERATIVE_FILL",
                                    "PIXELATE",
                                    "PROMPT_EDITING",
                                    "REFINE",
                                    "REFRAME",
                                    "REMOVE_BACKGROUND",
                                    "SEGMENTATION",
                                    "UPSCALE",
                                    "UPSCALE_360",
                                    "VECTORIZATION"
                                  ],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "embedding": {
                                "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                                "items": {
                                  "type": "number"
                                },
                                "type": "array"
                              },
                              "firstFrame": {
                                "additionalProperties": false,
                                "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                                "properties": {
                                  "assetId": {
                                    "type": "string"
                                  },
                                  "url": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "assetId",
                                  "url"
                                ],
                                "type": "object"
                              },
                              "id": {
                                "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "isHidden": {
                                "description": "Whether the asset is hidden.",
                                "type": "boolean"
                              },
                              "kind": {
                                "description": "The kind of asset",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "lastFrame": {
                                "additionalProperties": false,
                                "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                                "properties": {
                                  "assetId": {
                                    "type": "string"
                                  },
                                  "url": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "assetId",
                                  "url"
                                ],
                                "type": "object"
                              },
                              "metadata": {
                                "additionalProperties": false,
                                "description": "Metadata of the asset with some additional information",
                                "properties": {
                                  "angular": {
                                    "default": 0.5,
                                    "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                                    "maximum": 1,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "aspectRatio": {
                                    "description": "The optional aspect ratio given for the generation, only applicable for some models",
                                    "type": "string"
                                  },
                                  "backgroundOpacity": {
                                    "default": 0,
                                    "maximum": 255,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "baseModelId": {
                                    "description": "The baseModelId that maybe changed at inference time",
                                    "type": "string"
                                  },
                                  "bbox": {
                                    "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 4,
                                    "minItems": 4,
                                    "type": "array"
                                  },
                                  "betterQuality": {
                                    "default": false,
                                    "type": "boolean"
                                  },
                                  "cannyStructureImage": {
                                    "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                                    "type": "string"
                                  },
                                  "clustering": {
                                    "default": false,
                                    "description": "Activate clustering.",
                                    "type": "boolean"
                                  },
                                  "colorCorrection": {
                                    "default": true,
                                    "description": "Ensure upscaled tile have the same color histogram as original tile.",
                                    "type": "boolean"
                                  },
                                  "colorMode": {
                                    "type": "string"
                                  },
                                  "colorPrecision": {
                                    "type": "number"
                                  },
                                  "concepts": {
                                    "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "modelEpoch": {
                                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                          "type": "string"
                                        },
                                        "modelId": {
                                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                          "type": "string"
                                        },
                                        "scale": {
                                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                          "maximum": 2,
                                          "minimum": -2,
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "modelId",
                                        "scale"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "contours": {
                                    "items": {
                                      "items": {
                                        "items": {
                                          "items": {
                                            "type": "number"
                                          },
                                          "type": "array"
                                        },
                                        "type": "array"
                                      },
                                      "type": "array"
                                    },
                                    "type": "array"
                                  },
                                  "controlEnd": {
                                    "description": "End step for control.",
                                    "type": "number"
                                  },
                                  "copiedAt": {
                                    "description": "The date when the asset was copied to a project",
                                    "type": "string"
                                  },
                                  "cornerThreshold": {
                                    "type": "number"
                                  },
                                  "creativity": {
                                    "default": 35,
                                    "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "creativityDecay": {
                                    "default": 80,
                                    "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "defaultParameters": {
                                    "default": false,
                                    "description": "If true, use the default parameters",
                                    "type": "boolean"
                                  },
                                  "depthFidelity": {
                                    "default": 90,
                                    "description": "The depth fidelity if a depth image provided",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "depthImage": {
                                    "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                                    "type": "string"
                                  },
                                  "detailsLevel": {
                                    "default": 0,
                                    "description": "Amount of details to remove or add",
                                    "maximum": 50,
                                    "minimum": -50,
                                    "type": "number"
                                  },
                                  "dilate": {
                                    "default": 0,
                                    "maximum": 30,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "factor": {
                                    "default": 5,
                                    "description": "Contrast factor for Grayscale detector",
                                    "type": "number"
                                  },
                                  "fileName": {
                                    "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                                    "type": "string"
                                  },
                                  "filterSpeckle": {
                                    "type": "number"
                                  },
                                  "fractality": {
                                    "default": 40,
                                    "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "geometryEnforcement": {
                                    "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "guidance": {
                                    "description": "The guidance used to generate this asset",
                                    "type": "number"
                                  },
                                  "halfMode": {
                                    "type": "boolean"
                                  },
                                  "hdr": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  },
                                  "highThreshold": {
                                    "default": 200,
                                    "description": "High threshold for Canny detector",
                                    "type": "number"
                                  },
                                  "horizontalExpansionRatio": {
                                    "default": 1,
                                    "description": "(deprecated) Horizontal expansion ratio.",
                                    "maximum": 2,
                                    "minimum": 1,
                                    "type": "number"
                                  },
                                  "image": {
                                    "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                                    "type": "string"
                                  },
                                  "imageFidelity": {
                                    "default": 50,
                                    "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "imageType": {
                                    "default": "seamfull",
                                    "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                                    "enum": [
                                      "seamfull",
                                      "skybox",
                                      "texture"
                                    ],
                                    "type": "string"
                                  },
                                  "inferenceId": {
                                    "description": "The id of the Inference describing how this image was generated",
                                    "type": "string"
                                  },
                                  "inputFidelity": {
                                    "default": "low",
                                    "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                                    "enum": [
                                      "high",
                                      "low"
                                    ],
                                    "type": "string"
                                  },
                                  "inputLocation": {
                                    "default": "middle",
                                    "description": "Location of the input image in the output.",
                                    "enum": [
                                      "bottom",
                                      "left",
                                      "middle",
                                      "right",
                                      "top"
                                    ],
                                    "type": "string"
                                  },
                                  "invert": {
                                    "default": false,
                                    "description": "To invert the relief",
                                    "type": "boolean"
                                  },
                                  "keepsFileNames": {
                                    "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                                    "type": "boolean"
                                  },
                                  "keypointThreshold": {
                                    "default": 0.3,
                                    "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                                    "maximum": 1,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "kind": {
                                    "enum": [
                                      "3d",
                                      "audio",
                                      "document",
                                      "image",
                                      "image-hdr",
                                      "json",
                                      "text",
                                      "video"
                                    ],
                                    "type": "string"
                                  },
                                  "layerDifference": {
                                    "type": "number"
                                  },
                                  "lengthThreshold": {
                                    "type": "number"
                                  },
                                  "lockExpiresAt": {
                                    "description": "The ISO timestamp when the lock on the canvas will expire",
                                    "type": "string"
                                  },
                                  "lowThreshold": {
                                    "default": 100,
                                    "description": "Low threshold for Canny detector",
                                    "type": "number"
                                  },
                                  "mask": {
                                    "description": "The mask used for the asset generation or editing",
                                    "type": "string"
                                  },
                                  "maxIterations": {
                                    "type": "number"
                                  },
                                  "maxThreshold": {
                                    "default": 90,
                                    "description": "Maximum threshold for Grayscale conversion",
                                    "type": "number"
                                  },
                                  "minThreshold": {
                                    "default": 10,
                                    "description": "Minimum threshold for Grayscale conversion",
                                    "type": "number"
                                  },
                                  "modality": {
                                    "default": "canny",
                                    "description": "Modality to detect",
                                    "enum": [
                                      "canny",
                                      "depth",
                                      "grayscale",
                                      "lineart_anime",
                                      "mlsd",
                                      "normal",
                                      "pose",
                                      "scribble",
                                      "segmentation",
                                      "sketch"
                                    ],
                                    "type": "string"
                                  },
                                  "mode": {
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The modelId used to generate this asset",
                                    "type": "string"
                                  },
                                  "modelType": {
                                    "description": "The type of the generator used",
                                    "enum": [
                                      "custom",
                                      "elevenlabs-voice",
                                      "flux.1",
                                      "flux.1-composition",
                                      "flux.1-kontext-dev",
                                      "flux.1-kontext-lora",
                                      "flux.1-krea-dev",
                                      "flux.1-krea-lora",
                                      "flux.1-lora",
                                      "flux.1-pro",
                                      "flux.1.1-pro-ultra",
                                      "flux.2-dev-edit-lora",
                                      "flux.2-dev-lora",
                                      "flux.2-klein-4b-edit-lora",
                                      "flux.2-klein-4b-lora",
                                      "flux.2-klein-9b-edit-lora",
                                      "flux.2-klein-9b-lora",
                                      "flux.2-klein-base-4b-edit-lora",
                                      "flux.2-klein-base-4b-lora",
                                      "flux.2-klein-base-9b-edit-lora",
                                      "flux.2-klein-base-9b-lora",
                                      "flux1.1-pro",
                                      "gpt-image-1",
                                      "qwen-image-2512-lora",
                                      "qwen-image-edit-2509-lora",
                                      "qwen-image-edit-2511-lora",
                                      "qwen-image-edit-lora",
                                      "qwen-image-lora",
                                      "zimage-de-turbo-lora",
                                      "zimage-lora",
                                      "zimage-turbo-lora"
                                    ],
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "nbMasks": {
                                    "type": "number"
                                  },
                                  "negativePrompt": {
                                    "description": "The negative prompt used to generate this asset",
                                    "type": "string"
                                  },
                                  "negativePromptStrength": {
                                    "default": 0,
                                    "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                                    "maximum": 10,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "numInferenceSteps": {
                                    "default": 10,
                                    "description": "The number of denoising steps for each image generation.",
                                    "maximum": 50,
                                    "minimum": 5,
                                    "type": "number"
                                  },
                                  "numOutputs": {
                                    "default": 4,
                                    "description": "The number of outputs to generate.",
                                    "maximum": 8,
                                    "minimum": 1,
                                    "type": "number"
                                  },
                                  "originalAssetId": {
                                    "type": "string"
                                  },
                                  "outputIndex": {
                                    "type": "number"
                                  },
                                  "overlapPercentage": {
                                    "default": 0.08,
                                    "description": "Overlap percentage for the output image.",
                                    "maximum": 0.5,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "overrideEmbeddings": {
                                    "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                                    "type": "boolean"
                                  },
                                  "parentId": {
                                    "type": "string"
                                  },
                                  "parentJobId": {
                                    "type": "string"
                                  },
                                  "pathPrecision": {
                                    "type": "number"
                                  },
                                  "points": {
                                    "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                                    "items": {
                                      "items": {
                                        "type": "number"
                                      },
                                      "type": "array"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "polished": {
                                    "default": 0.5,
                                    "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                                    "maximum": 1,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "preset": {
                                    "type": "string"
                                  },
                                  "progressPercent": {
                                    "type": "number"
                                  },
                                  "prompt": {
                                    "description": "The prompt that guided the asset generation or editing",
                                    "type": "string"
                                  },
                                  "promptFidelity": {
                                    "default": 50,
                                    "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "raised": {
                                    "default": 0.5,
                                    "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                                    "maximum": 1,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "referenceImages": {
                                    "description": "The reference images used for the asset generation or editing",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "refinementSteps": {
                                    "default": 0,
                                    "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                                    "maximum": 4,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "removeBackground": {
                                    "default": true,
                                    "description": "Remove background for Grayscale detector",
                                    "type": "boolean"
                                  },
                                  "resizeOption": {
                                    "default": 1,
                                    "description": "Size proportion of the input image in the output.",
                                    "maximum": 1,
                                    "minimum": 0.1,
                                    "type": "number"
                                  },
                                  "resultContours": {
                                    "default": false,
                                    "description": "Boolean to output the contours.",
                                    "type": "boolean"
                                  },
                                  "resultImage": {
                                    "default": false,
                                    "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                                    "type": "boolean"
                                  },
                                  "resultMask": {
                                    "default": true,
                                    "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                                    "type": "boolean"
                                  },
                                  "rootParentId": {
                                    "type": "string"
                                  },
                                  "saveFlipbook": {
                                    "default": true,
                                    "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                                    "type": "boolean"
                                  },
                                  "scalingFactor": {
                                    "default": 2,
                                    "description": "Scaling factor (when `targetWidth` not specified)",
                                    "maximum": 16,
                                    "minimum": 1,
                                    "type": "number"
                                  },
                                  "scheduler": {
                                    "description": "The scheduler used to generate this asset",
                                    "type": "string"
                                  },
                                  "seed": {
                                    "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                                    "type": "string"
                                  },
                                  "sharpen": {
                                    "default": false,
                                    "description": "Sharpen tiles.",
                                    "type": "boolean"
                                  },
                                  "shiny": {
                                    "default": 0.5,
                                    "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                                    "maximum": 1,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "size": {
                                    "type": "number"
                                  },
                                  "sketch": {
                                    "default": false,
                                    "description": "Activate sketch detection instead of canny.",
                                    "type": "boolean"
                                  },
                                  "sourceProjectId": {
                                    "type": "string"
                                  },
                                  "spliceThreshold": {
                                    "type": "number"
                                  },
                                  "strength": {
                                    "default": 1,
                                    "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                                    "type": "number"
                                  },
                                  "structureFidelity": {
                                    "default": 35,
                                    "description": "Strength for the input image structure preservation",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "structureImage": {
                                    "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                                    "type": "string"
                                  },
                                  "style": {
                                    "enum": [
                                      "3d-cartoon",
                                      "3d-rendered",
                                      "anime",
                                      "cartoon",
                                      "cinematic",
                                      "claymation",
                                      "cloud-skydome",
                                      "comic",
                                      "cyberpunk",
                                      "enchanted",
                                      "fantasy",
                                      "ink",
                                      "manga",
                                      "manga-color",
                                      "minimalist",
                                      "neon-tron",
                                      "oil-painting",
                                      "pastel",
                                      "photo",
                                      "photography",
                                      "psychedelic",
                                      "retro-fantasy",
                                      "scifi-concept-art",
                                      "space",
                                      "standard",
                                      "whimsical"
                                    ],
                                    "type": "string"
                                  },
                                  "styleFidelity": {
                                    "default": 20,
                                    "description": "The higher the value the more it will look like the style image(s)",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "styleImages": {
                                    "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "maxItems": 10,
                                    "type": "array"
                                  },
                                  "styleImagesFidelity": {
                                    "default": 17,
                                    "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "targetHeight": {
                                    "default": 1024,
                                    "description": "The target height of the output image.",
                                    "maximum": 2048,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "targetWidth": {
                                    "description": "Target width for the upscaled image, take priority over scaling factor",
                                    "maximum": 16000,
                                    "minimum": 1024,
                                    "type": "number"
                                  },
                                  "text": {
                                    "description": "A textual description / keywords describing the object of interest.",
                                    "maxLength": 100,
                                    "type": "string"
                                  },
                                  "texture": {
                                    "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                                    "type": "string"
                                  },
                                  "thumbnail": {
                                    "additionalProperties": false,
                                    "description": "The thumbnail of the canvas",
                                    "properties": {
                                      "assetId": {
                                        "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                        "type": "string"
                                      },
                                      "url": {
                                        "description": "The url of the image used as a thumbnail for the canvas",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "assetId",
                                      "url"
                                    ],
                                    "type": "object"
                                  },
                                  "tileStyle": {
                                    "default": false,
                                    "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                                    "type": "boolean"
                                  },
                                  "trainingImage": {
                                    "type": "boolean"
                                  },
                                  "type": {
                                    "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                                    "enum": [
                                      "3d-texture",
                                      "3d-texture-albedo",
                                      "3d-texture-metallic",
                                      "3d-texture-mtl",
                                      "3d-texture-normal",
                                      "3d-texture-roughness",
                                      "3d23d",
                                      "3d23d-texture",
                                      "audio2audio",
                                      "audio2txt",
                                      "audio2video",
                                      "background-removal",
                                      "canvas",
                                      "canvas-drawing",
                                      "canvas-export",
                                      "detection",
                                      "generative-fill",
                                      "image-prompt-editing",
                                      "img23d",
                                      "img2img",
                                      "img2splat",
                                      "img2txt",
                                      "img2video",
                                      "inference-controlnet",
                                      "inference-controlnet-img2img",
                                      "inference-controlnet-inpaint",
                                      "inference-controlnet-inpaint-ip-adapter",
                                      "inference-controlnet-ip-adapter",
                                      "inference-controlnet-reference",
                                      "inference-controlnet-texture",
                                      "inference-img2img",
                                      "inference-img2img-ip-adapter",
                                      "inference-img2img-texture",
                                      "inference-inpaint",
                                      "inference-inpaint-ip-adapter",
                                      "inference-reference",
                                      "inference-reference-texture",
                                      "inference-txt2img",
                                      "inference-txt2img-ip-adapter",
                                      "inference-txt2img-texture",
                                      "patch",
                                      "pixelization",
                                      "reframe",
                                      "restyle",
                                      "segment",
                                      "segmentation-image",
                                      "segmentation-mask",
                                      "skybox-3d",
                                      "skybox-base-360",
                                      "skybox-hdri",
                                      "texture",
                                      "texture-albedo",
                                      "texture-ao",
                                      "texture-edge",
                                      "texture-height",
                                      "texture-metallic",
                                      "texture-normal",
                                      "texture-smoothness",
                                      "txt23d",
                                      "txt2audio",
                                      "txt2img",
                                      "txt2txt",
                                      "txt2video",
                                      "unknown",
                                      "uploaded",
                                      "uploaded-3d",
                                      "uploaded-audio",
                                      "uploaded-avatar",
                                      "uploaded-text",
                                      "uploaded-video",
                                      "upscale",
                                      "upscale-skybox",
                                      "upscale-texture",
                                      "upscale-video",
                                      "vectorization",
                                      "video23d",
                                      "video2audio",
                                      "video2img",
                                      "video2txt",
                                      "video2video",
                                      "voice-clone"
                                    ],
                                    "type": "string"
                                  },
                                  "verticalExpansionRatio": {
                                    "default": 1,
                                    "description": "(deprecated) Vertical expansion ratio.",
                                    "maximum": 2,
                                    "minimum": 1,
                                    "type": "number"
                                  },
                                  "width": {
                                    "default": 1536,
                                    "description": "The width of the rendered image.",
                                    "maximum": 2048,
                                    "minimum": 1024,
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "kind",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "mimeType": {
                                "description": "The mime type of the asset (example: \"image/png\")",
                                "type": "string"
                              },
                              "nsfw": {
                                "description": "The NSFW labels",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "originalFileUrl": {
                                "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                                "type": "string"
                              },
                              "originalMimeType": {
                                "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                                "enum": [
                                  "application/gzip",
                                  "application/json",
                                  "application/octet-stream",
                                  "application/pdf",
                                  "application/safetensors",
                                  "application/vnd.autodesk.fbx",
                                  "application/x-authorware-bin",
                                  "application/x-zip-compressed",
                                  "application/x.autodesk.fbx",
                                  "application/zip",
                                  "audio/flac",
                                  "audio/m4a",
                                  "audio/mpeg",
                                  "audio/ogg",
                                  "audio/wav",
                                  "image/aces",
                                  "image/avif",
                                  "image/bmp",
                                  "image/gif",
                                  "image/heic",
                                  "image/jpeg",
                                  "image/png",
                                  "image/svg+xml",
                                  "image/tiff",
                                  "image/vnd.radiance",
                                  "image/webp",
                                  "image/x-exr",
                                  "model/glb",
                                  "model/gltf+json",
                                  "model/gltf-binary",
                                  "model/ksplat",
                                  "model/mtl",
                                  "model/obj",
                                  "model/ply",
                                  "model/sog",
                                  "model/splat",
                                  "model/spz",
                                  "model/stl",
                                  "model/vnd.collada+xml",
                                  "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                                  "model/vnd.usdz+zip",
                                  "model/x-3d-vox",
                                  "model/x-blender",
                                  "model/x-fbx",
                                  "model/x-maya-ascii",
                                  "model/x-maya-binary",
                                  "model/x-vsplat",
                                  "model/x3d+xml",
                                  "text/plain",
                                  "video/mp4",
                                  "video/quicktime",
                                  "video/webm"
                                ],
                                "type": "string"
                              },
                              "outputIndex": {
                                "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                                "type": "number"
                              },
                              "ownerId": {
                                "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                                "type": "string"
                              },
                              "preview": {
                                "additionalProperties": false,
                                "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                                "properties": {
                                  "assetId": {
                                    "type": "string"
                                  },
                                  "url": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "assetId",
                                  "url"
                                ],
                                "type": "object"
                              },
                              "privacy": {
                                "description": "The privacy of the asset",
                                "enum": [
                                  "private",
                                  "public",
                                  "unlisted"
                                ],
                                "type": "string"
                              },
                              "properties": {
                                "additionalProperties": false,
                                "description": "The properties of the asset, content may depend on the kind of asset returned",
                                "properties": {
                                  "animationFrameCount": {
                                    "description": "Number of animation frames if animations exist",
                                    "type": "number"
                                  },
                                  "bitrate": {
                                    "description": "Bitrate of the media in bits per second",
                                    "type": "number"
                                  },
                                  "boneCount": {
                                    "description": "Number of bones if skeleton exists",
                                    "type": "number"
                                  },
                                  "cameraMode": {
                                    "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                                    "enum": [
                                      "aerial",
                                      "interior",
                                      "turntable"
                                    ],
                                    "type": "string"
                                  },
                                  "cameraTrajectory": {
                                    "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                      "properties": {
                                        "fov": {
                                          "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                          "type": "number"
                                        },
                                        "position": {
                                          "description": "Camera eye position in the splat's world frame.",
                                          "items": {
                                            "type": "number"
                                          },
                                          "maxItems": 3,
                                          "minItems": 3,
                                          "type": "array"
                                        },
                                        "target": {
                                          "description": "Look-at point in the splat's world frame.",
                                          "items": {
                                            "type": "number"
                                          },
                                          "maxItems": 3,
                                          "minItems": 3,
                                          "type": "array"
                                        }
                                      },
                                      "required": [
                                        "position",
                                        "target"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "channels": {
                                    "description": "Number of channels of the audio",
                                    "type": "number"
                                  },
                                  "charCount": {
                                    "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                                    "type": "number"
                                  },
                                  "classification": {
                                    "description": "Classification of the audio",
                                    "enum": [
                                      "effect",
                                      "interview",
                                      "music",
                                      "other",
                                      "sound",
                                      "speech",
                                      "text",
                                      "unknown"
                                    ],
                                    "type": "string"
                                  },
                                  "codecName": {
                                    "description": "Codec name of the media",
                                    "type": "string"
                                  },
                                  "description": {
                                    "description": "Description of the audio",
                                    "type": "string"
                                  },
                                  "dimensions": {
                                    "description": "Bounding box dimensions [width, height, depth]",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "duration": {
                                    "description": "Duration of the media in seconds",
                                    "type": "number"
                                  },
                                  "faceCount": {
                                    "description": "Number of faces/triangles in the mesh",
                                    "type": "number"
                                  },
                                  "format": {
                                    "description": "Format of the mesh file (e.g. 'glb', etc.)",
                                    "type": "string"
                                  },
                                  "frameRate": {
                                    "description": "Frame rate of the video in frames per second",
                                    "type": "number"
                                  },
                                  "hasAnimations": {
                                    "description": "Whether the mesh has animations",
                                    "type": "boolean"
                                  },
                                  "hasFullPreview": {
                                    "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                                    "type": "boolean"
                                  },
                                  "hasNormals": {
                                    "description": "Whether the mesh has normal vectors",
                                    "type": "boolean"
                                  },
                                  "hasSkeleton": {
                                    "description": "Whether the mesh has bones/skeleton",
                                    "type": "boolean"
                                  },
                                  "hasUVs": {
                                    "description": "Whether the mesh has UV coordinates",
                                    "type": "boolean"
                                  },
                                  "height": {
                                    "type": "number"
                                  },
                                  "nbFrames": {
                                    "description": "Number of frames in the video",
                                    "type": "number"
                                  },
                                  "preview": {
                                    "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                                    "type": "string"
                                  },
                                  "sampleRate": {
                                    "description": "Sample rate of the media in Hz",
                                    "type": "number"
                                  },
                                  "size": {
                                    "type": "number"
                                  },
                                  "transcription": {
                                    "additionalProperties": false,
                                    "description": "Transcription of the audio",
                                    "properties": {
                                      "text": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "text"
                                    ],
                                    "type": "object"
                                  },
                                  "vertexCount": {
                                    "description": "Number of vertices in the mesh",
                                    "type": "number"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "wordCount": {
                                    "description": "Number of whitespace-separated words in the text",
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "size"
                                ],
                                "type": "object"
                              },
                              "qualityGate": {
                                "additionalProperties": false,
                                "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                                "properties": {
                                  "aiQualityScore": {
                                    "description": "Generic AI-quality sub-score",
                                    "type": "number"
                                  },
                                  "appliedBriefIds": {
                                    "description": "Ids of briefs that contributed",
                                    "items": {
                                      "description": "Opaque identifier for a brief, derived from its scope.",
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "briefComplianceScore": {
                                    "description": "Brief-compliance sub-score (omitted when no brief applied)",
                                    "type": "number"
                                  },
                                  "computedAt": {
                                    "description": "ISO-8601 timestamp of when scoring ran",
                                    "type": "string"
                                  },
                                  "details": {
                                    "additionalProperties": false,
                                    "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                                    "properties": {
                                      "aiQuality": {
                                        "additionalProperties": false,
                                        "description": "Always-on generic AI-quality dimension",
                                        "properties": {
                                          "reasons": {
                                            "description": "Why the image scored as it did",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          },
                                          "score": {
                                            "description": "0–100; higher is better (more compliant / less AI-looking)",
                                            "type": "number"
                                          },
                                          "suggestions": {
                                            "description": "Actionable suggestions to improve the score",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          }
                                        },
                                        "required": [
                                          "reasons",
                                          "score",
                                          "suggestions"
                                        ],
                                        "type": "object"
                                      },
                                      "briefCompliance": {
                                        "additionalProperties": false,
                                        "description": "Brief-compliance dimension; omitted when no brief applied",
                                        "properties": {
                                          "reasons": {
                                            "description": "Why the image scored as it did",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          },
                                          "score": {
                                            "description": "0–100; higher is better (more compliant / less AI-looking)",
                                            "type": "number"
                                          },
                                          "suggestions": {
                                            "description": "Actionable suggestions to improve the score",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          }
                                        },
                                        "required": [
                                          "reasons",
                                          "score",
                                          "suggestions"
                                        ],
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "aiQuality"
                                    ],
                                    "type": "object"
                                  },
                                  "error": {
                                    "description": "Error message when status is 'error' (truncated)",
                                    "type": "string"
                                  },
                                  "overallScore": {
                                    "description": "0–100 composite score (present when status is 'scored')",
                                    "type": "number"
                                  },
                                  "sensitivity": {
                                    "description": "Sensitivity used for the verdict",
                                    "enum": [
                                      "high",
                                      "low",
                                      "medium"
                                    ],
                                    "type": "string"
                                  },
                                  "status": {
                                    "description": "Whether scoring succeeded or errored",
                                    "enum": [
                                      "error",
                                      "scored"
                                    ],
                                    "type": "string"
                                  },
                                  "verdict": {
                                    "description": "pass / warn / fail (present when status is 'scored')",
                                    "enum": [
                                      "fail",
                                      "pass",
                                      "warn"
                                    ],
                                    "type": "string"
                                  },
                                  "version": {
                                    "description": "Rubric/model version that produced this result",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "computedAt",
                                  "status",
                                  "version"
                                ],
                                "type": "object"
                              },
                              "source": {
                                "description": "source of the asset",
                                "enum": [
                                  "3d23d",
                                  "3d23d:texture",
                                  "3d:texture",
                                  "3d:texture:albedo",
                                  "3d:texture:metallic",
                                  "3d:texture:mtl",
                                  "3d:texture:normal",
                                  "3d:texture:roughness",
                                  "audio2audio",
                                  "audio2txt",
                                  "audio2video",
                                  "background-removal",
                                  "canvas",
                                  "canvas-drawing",
                                  "canvas-export",
                                  "detection",
                                  "generative-fill",
                                  "image-prompt-editing",
                                  "img23d",
                                  "img2img",
                                  "img2splat",
                                  "img2txt",
                                  "img2video",
                                  "inference-control-net",
                                  "inference-control-net-img",
                                  "inference-control-net-inpainting",
                                  "inference-control-net-inpainting-ip-adapter",
                                  "inference-control-net-ip-adapter",
                                  "inference-control-net-reference",
                                  "inference-control-net-texture",
                                  "inference-img",
                                  "inference-img-ip-adapter",
                                  "inference-img-texture",
                                  "inference-in-paint",
                                  "inference-in-paint-ip-adapter",
                                  "inference-reference",
                                  "inference-reference-texture",
                                  "inference-txt",
                                  "inference-txt-ip-adapter",
                                  "inference-txt-texture",
                                  "patch",
                                  "pixelization",
                                  "reframe",
                                  "restyle",
                                  "segment",
                                  "segmentation-image",
                                  "segmentation-mask",
                                  "skybox-3d",
                                  "skybox-base-360",
                                  "skybox-hdri",
                                  "texture",
                                  "texture:albedo",
                                  "texture:ao",
                                  "texture:edge",
                                  "texture:height",
                                  "texture:metallic",
                                  "texture:normal",
                                  "texture:smoothness",
                                  "txt23d",
                                  "txt2audio",
                                  "txt2img",
                                  "txt2txt",
                                  "txt2video",
                                  "unknown",
                                  "uploaded",
                                  "uploaded-3d",
                                  "uploaded-audio",
                                  "uploaded-avatar",
                                  "uploaded-text",
                                  "uploaded-video",
                                  "upscale",
                                  "upscale-skybox",
                                  "upscale-texture",
                                  "upscale-video",
                                  "vectorization",
                                  "video23d",
                                  "video2audio",
                                  "video2img",
                                  "video2txt",
                                  "video2video",
                                  "voice-clone"
                                ],
                                "type": "string"
                              },
                              "status": {
                                "description": "The actual status",
                                "enum": [
                                  "error",
                                  "pending",
                                  "success"
                                ],
                                "type": "string"
                              },
                              "tags": {
                                "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "thumbnail": {
                                "additionalProperties": false,
                                "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                                "properties": {
                                  "assetId": {
                                    "type": "string"
                                  },
                                  "url": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "assetId",
                                  "url"
                                ],
                                "type": "object"
                              },
                              "updatedAt": {
                                "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "url": {
                                "description": "Signed URL to get the asset content",
                                "type": "string"
                              }
                            },
                            "required": [
                              "authorId",
                              "collectionIds",
                              "createdAt",
                              "editCapabilities",
                              "id",
                              "kind",
                              "metadata",
                              "mimeType",
                              "ownerId",
                              "privacy",
                              "properties",
                              "source",
                              "status",
                              "tags",
                              "updatedAt",
                              "url"
                            ],
                            "type": "object"
                          },
                          "inferenceId": {
                            "description": "Inference id of the inference used to generate the asset",
                            "type": "string"
                          },
                          "inferenceParameters": {
                            "additionalProperties": false,
                            "description": "The inference parameters used to generate the asset",
                            "properties": {
                              "aspectRatio": {
                                "default": "1:1",
                                "description": "The aspect ratio of the generated images. Only used for the model flux.1.1-pro-ultra.\nThe aspect ratio is a string formatted as \"width:height\" (example: \"16:9\").",
                                "enum": [
                                  "16:9",
                                  "1:1",
                                  "21:9",
                                  "2:3",
                                  "3:2",
                                  "3:4",
                                  "4:3",
                                  "4:5",
                                  "5:4",
                                  "9:16",
                                  "9:21"
                                ],
                                "type": "string"
                              },
                              "baseModelId": {
                                "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                                "type": "string"
                              },
                              "concepts": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "modelEpoch": {
                                      "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                      "type": "string"
                                    },
                                    "modelId": {
                                      "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                      "type": "string"
                                    },
                                    "scale": {
                                      "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                      "maximum": 2,
                                      "minimum": -2,
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "modelId",
                                    "scale"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "controlEnd": {
                                "default": 0.5,
                                "description": "Specifies how long the ControlNet guidance should be applied during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance is active.\nFor example:\n- 1.0: ControlNet guidance is applied during all inference steps\n- 0.5: ControlNet guidance is only applied during the first half of inference steps\n\nDefault values:\n- 0.5 for Canny modality\n- 0.6 for all other modalities",
                                "maximum": 1,
                                "minimum": 0.1,
                                "type": "number"
                              },
                              "controlImage": {
                                "description": "Signed URL to display the controlnet input image",
                                "type": "string"
                              },
                              "controlImageId": {
                                "description": "Asset id of the controlnet input image",
                                "type": "string"
                              },
                              "controlStart": {
                                "default": 0,
                                "description": "Specifies the starting point of the ControlNet guidance during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance starts.\nFor example:\n- 0.0: ControlNet guidance starts at the beginning of the inference steps\n- 0.5: ControlNet guidance starts at the middle of the inference steps",
                                "maximum": 0.9,
                                "minimum": 0,
                                "type": "number"
                              },
                              "disableMerging": {
                                "default": false,
                                "description": "If set to true, the entire input image will likely change during inpainting. This results in faster inferences, but the output image will be harder to integrate if the input is just a small part of a larger image.",
                                "type": "boolean"
                              },
                              "disableModalityDetection": {
                                "default": true,
                                "description": "If false, the process uses the given image to detect the modality.\nIf true (default), the process will not try to detect the modality of the given image.\n\nFor example:\nwith `pose` modality and `false` value, the process will detect the pose of people in the given image\nwith `depth` modality and `false` value, the process will detect the depth of the given image\nwith `scribble` modality and `true`value, the process will use the given image as a scribble\n\n⚠️ For models of the FLUX schnell or dev families, this parameter is ignored. The modality detection is always disabled. ⚠️",
                                "type": "boolean"
                              },
                              "guidance": {
                                "default": 3.5,
                                "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                                "maximum": 20,
                                "minimum": 0,
                                "type": "number"
                              },
                              "height": {
                                "default": 512,
                                "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                                "maximum": 2048,
                                "minimum": 64,
                                "multipleOf": 8,
                                "type": "number"
                              },
                              "hideResults": {
                                "default": false,
                                "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                                "type": "boolean"
                              },
                              "image": {
                                "description": "Signed URL to display the input image",
                                "type": "string"
                              },
                              "imageId": {
                                "description": "Asset id of the input image",
                                "type": "string"
                              },
                              "intermediateImages": {
                                "default": false,
                                "description": "Enable or disable the intermediate images generation (default: false)",
                                "type": "boolean"
                              },
                              "ipAdapterImage": {
                                "description": "Signed URL to display the IpAdapter image",
                                "type": "string"
                              },
                              "ipAdapterImageId": {
                                "description": "Asset id of the input IpAdapter image",
                                "type": "string"
                              },
                              "ipAdapterImageIds": {
                                "description": "Asset id of the input IpAdapter images",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "ipAdapterImages": {
                                "description": "Signed URL to display the IpAdapter images",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "ipAdapterScale": {
                                "default": 0.9,
                                "description": "IpAdapter scale factor (within [0.0, 1.0], default: 0.9).",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "ipAdapterScales": {
                                "default": 0.9,
                                "description": "IpAdapter scale factors (within [0.0, 1.0], default: 0.9).",
                                "items": {
                                  "type": "number"
                                },
                                "maximum": 1,
                                "minimum": 0,
                                "type": "array"
                              },
                              "ipAdapterType": {
                                "default": "style",
                                "description": "The type of IP Adapter model to use. Must be one of [`style`, `character`], default to `style``",
                                "enum": [
                                  "character",
                                  "style"
                                ],
                                "type": "string"
                              },
                              "mask": {
                                "description": "Signed URL to display the mask image",
                                "type": "string"
                              },
                              "maskId": {
                                "description": "Asset id of the mask image",
                                "type": "string"
                              },
                              "modality": {
                                "description": "The modality associated with the control image used for the generation: it can either be an object with a combination of maximum\n\nFor models of the FLUX schnell or dev families:\n- one modality from: `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality`\n\nOptionally, you can associate a value to these modalities or presets. The value must be within `]0.0, 1.0]`.\n\nExamples:\n- `canny`\n- `depth:0.5,pose:1.0`\n- `canny:0.5,depth:0.5,lines:0.3`\n- `landscape`\n- `character:0.5`\n- `illusion:1`\n\nNote: if you use a value that is not supported by the model family, this will result in an error.",
                                "type": "string"
                              },
                              "modelEpoch": {
                                "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                                "type": "string"
                              },
                              "negativePrompt": {
                                "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                                "type": "string"
                              },
                              "negativePromptStrength": {
                                "default": 0,
                                "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                                "maximum": 10,
                                "minimum": 0,
                                "type": "number"
                              },
                              "numInferenceSteps": {
                                "default": 30,
                                "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                                "maximum": 150,
                                "minimum": 1,
                                "type": "number"
                              },
                              "numSamples": {
                                "default": 4,
                                "description": "The number of images to generate (within [1, 128], default: 4)",
                                "maximum": 128,
                                "minimum": 1,
                                "type": "number"
                              },
                              "prompt": {
                                "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                                "type": "string"
                              },
                              "referenceAdain": {
                                "default": false,
                                "description": "Whether to use reference adain\nOnly for \"reference\" inference type",
                                "type": "boolean"
                              },
                              "referenceAttn": {
                                "default": false,
                                "description": "Whether to use reference query for self attention's context\nOnly for \"reference\" inference type",
                                "type": "boolean"
                              },
                              "scheduler": {
                                "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                                "enum": [
                                  "DDIMScheduler",
                                  "DDPMScheduler",
                                  "DEISMultistepScheduler",
                                  "DPMSolverMultistepScheduler",
                                  "DPMSolverSinglestepScheduler",
                                  "EulerAncestralDiscreteScheduler",
                                  "EulerDiscreteScheduler",
                                  "HeunDiscreteScheduler",
                                  "KDPM2AncestralDiscreteScheduler",
                                  "KDPM2DiscreteScheduler",
                                  "LCMScheduler",
                                  "LMSDiscreteScheduler",
                                  "PNDMScheduler",
                                  "TCDScheduler",
                                  "UniPCMultistepScheduler"
                                ],
                                "type": "string"
                              },
                              "seed": {
                                "description": "Used to reproduce previous results. Default: randomly generated number.",
                                "maximum": 2147483647,
                                "minimum": 0,
                                "type": "string"
                              },
                              "strength": {
                                "default": 0.75,
                                "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                                "maximum": 1,
                                "minimum": 0.01,
                                "type": "number"
                              },
                              "styleFidelity": {
                                "default": 0.5,
                                "description": "If style_fidelity=1.0, control more important, else if style_fidelity=0.0, prompt more important, else balanced\nOnly for \"reference\" inference type",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "type": {
                                "description": "The type of inference to use. Example: txt2img, img2img, etc.\n\nSelecting the right type will condition the expected parameters.\n\nNote: for inpainting with models that support multiple base models, Scenario determines the best available `baseModel` for a given `modelId`.",
                                "enum": [
                                  "controlnet",
                                  "controlnet_img2img",
                                  "controlnet_inpaint",
                                  "controlnet_inpaint_ip_adapter",
                                  "controlnet_ip_adapter",
                                  "controlnet_reference",
                                  "controlnet_texture",
                                  "img2img",
                                  "img2img_ip_adapter",
                                  "img2img_texture",
                                  "inpaint",
                                  "inpaint_ip_adapter",
                                  "outpaint",
                                  "reference",
                                  "reference_texture",
                                  "txt2img",
                                  "txt2img_ip_adapter",
                                  "txt2img_texture"
                                ],
                                "type": "string"
                              },
                              "width": {
                                "default": 512,
                                "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                                "maximum": 2048,
                                "minimum": 64,
                                "multipleOf": 8,
                                "type": "number"
                              }
                            },
                            "required": [
                              "prompt",
                              "type"
                            ],
                            "type": "object"
                          },
                          "job": {
                            "additionalProperties": false,
                            "description": "The job associated with the asset",
                            "properties": {
                              "authorId": {
                                "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                                "type": "string"
                              },
                              "billing": {
                                "additionalProperties": false,
                                "description": "The billing of the job",
                                "properties": {
                                  "cuCost": {
                                    "type": "number"
                                  },
                                  "cuCostDetails": {
                                    "additionalProperties": false,
                                    "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                                    "properties": {
                                      "ip-detection": {
                                        "type": "number"
                                      },
                                      "quality-gate": {
                                        "type": "number"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "cuDiscount": {
                                    "type": "number"
                                  },
                                  "disableRefund": {
                                    "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "cuCost",
                                  "cuDiscount"
                                ],
                                "type": "object"
                              },
                              "createdAt": {
                                "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "jobId": {
                                "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                                "type": "string"
                              },
                              "jobType": {
                                "description": "The type of job",
                                "enum": [
                                  "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",
                                  "splat",
                                  "texture",
                                  "translate",
                                  "upload",
                                  "upscale",
                                  "upscale-skybox",
                                  "upscale-texture",
                                  "vectorize",
                                  "workflow"
                                ],
                                "type": "string"
                              },
                              "metadata": {
                                "additionalProperties": false,
                                "description": "Metadata of the job with some additional information",
                                "properties": {
                                  "assetIds": {
                                    "description": "List of produced assets for this job",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "error": {
                                    "description": "Eventual error for the job",
                                    "type": "string",
                                    "nullable": true
                                  },
                                  "flow": {
                                    "description": "The flow of the job. Only available for workflow jobs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assets": {
                                          "description": "List of produced assets for this node.",
                                          "items": {
                                            "additionalProperties": false,
                                            "properties": {
                                              "assetId": {
                                                "type": "string"
                                              },
                                              "url": {
                                                "type": "string"
                                              }
                                            },
                                            "required": [
                                              "assetId",
                                              "url"
                                            ],
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "count": {
                                          "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                          "type": "number"
                                        },
                                        "dependsOn": {
                                          "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "id": {
                                          "description": "The id of the node.",
                                          "type": "string"
                                        },
                                        "includeOutputsInWorkflowJob": {
                                          "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                          "enum": [
                                            true
                                          ],
                                          "type": "boolean"
                                        },
                                        "inputs": {
                                          "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                          "items": {
                                            "additionalProperties": false,
                                            "description": "This is used to run the flow.",
                                            "properties": {
                                              "allowedValues": {
                                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                "items": {},
                                                "type": "array"
                                              },
                                              "backgroundBehavior": {
                                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                "enum": [
                                                  "opaque",
                                                  "transparent"
                                                ],
                                                "type": "string"
                                              },
                                              "color": {
                                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                "type": "boolean"
                                              },
                                              "costImpact": {
                                                "description": "Whether this input affects the model's cost calculation",
                                                "type": "boolean"
                                              },
                                              "default": {
                                                "description": "The default value for the input"
                                              },
                                              "description": {
                                                "description": "Help text displayed in the UI to provide additional information about the input",
                                                "type": "string"
                                              },
                                              "group": {
                                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                "type": "string"
                                              },
                                              "hint": {
                                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                "type": "string"
                                              },
                                              "inputs": {
                                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                "items": {
                                                  "additionalProperties": true,
                                                  "properties": {},
                                                  "type": "object"
                                                },
                                                "type": "array"
                                              },
                                              "items": {
                                                "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                                "items": {
                                                  "items": {
                                                    "additionalProperties": false,
                                                    "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                                    "properties": {
                                                      "allowedValues": {
                                                        "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                        "items": {},
                                                        "type": "array"
                                                      },
                                                      "backgroundBehavior": {
                                                        "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                        "enum": [
                                                          "opaque",
                                                          "transparent"
                                                        ],
                                                        "type": "string"
                                                      },
                                                      "color": {
                                                        "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                        "type": "boolean"
                                                      },
                                                      "costImpact": {
                                                        "description": "Whether this input affects the model's cost calculation",
                                                        "type": "boolean"
                                                      },
                                                      "default": {
                                                        "description": "The default value for the input"
                                                      },
                                                      "description": {
                                                        "description": "Help text displayed in the UI to provide additional information about the input",
                                                        "type": "string"
                                                      },
                                                      "group": {
                                                        "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                        "type": "string"
                                                      },
                                                      "hint": {
                                                        "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                        "type": "string"
                                                      },
                                                      "inputs": {
                                                        "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                        "items": {
                                                          "additionalProperties": true,
                                                          "properties": {},
                                                          "type": "object"
                                                        },
                                                        "type": "array"
                                                      },
                                                      "kind": {
                                                        "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                        "enum": [
                                                          "3d",
                                                          "audio",
                                                          "document",
                                                          "image",
                                                          "image-hdr",
                                                          "json",
                                                          "text",
                                                          "video"
                                                        ],
                                                        "type": "string"
                                                      },
                                                      "label": {
                                                        "description": "The label displayed in the UI for this input",
                                                        "type": "string"
                                                      },
                                                      "maskFrom": {
                                                        "description": "The name of the file input field to use as the mask source",
                                                        "type": "string"
                                                      },
                                                      "max": {
                                                        "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                        "type": "number"
                                                      },
                                                      "maxDuration": {
                                                        "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                        "type": "number"
                                                      },
                                                      "maxLength": {
                                                        "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                        "type": "number"
                                                      },
                                                      "maxSize": {
                                                        "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                        "type": "number"
                                                      },
                                                      "min": {
                                                        "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                        "type": "number"
                                                      },
                                                      "minDuration": {
                                                        "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                        "type": "number"
                                                      },
                                                      "minLength": {
                                                        "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                        "type": "number"
                                                      },
                                                      "modelTypes": {
                                                        "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                        "items": {
                                                          "enum": [
                                                            "custom",
                                                            "elevenlabs-voice",
                                                            "flux.1",
                                                            "flux.1-composition",
                                                            "flux.1-kontext-dev",
                                                            "flux.1-kontext-lora",
                                                            "flux.1-krea-dev",
                                                            "flux.1-krea-lora",
                                                            "flux.1-lora",
                                                            "flux.1-pro",
                                                            "flux.1.1-pro-ultra",
                                                            "flux.2-dev-edit-lora",
                                                            "flux.2-dev-lora",
                                                            "flux.2-klein-4b-edit-lora",
                                                            "flux.2-klein-4b-lora",
                                                            "flux.2-klein-9b-edit-lora",
                                                            "flux.2-klein-9b-lora",
                                                            "flux.2-klein-base-4b-edit-lora",
                                                            "flux.2-klein-base-4b-lora",
                                                            "flux.2-klein-base-9b-edit-lora",
                                                            "flux.2-klein-base-9b-lora",
                                                            "flux1.1-pro",
                                                            "gpt-image-1",
                                                            "qwen-image-2512-lora",
                                                            "qwen-image-edit-2509-lora",
                                                            "qwen-image-edit-2511-lora",
                                                            "qwen-image-edit-lora",
                                                            "qwen-image-lora",
                                                            "zimage-de-turbo-lora",
                                                            "zimage-lora",
                                                            "zimage-turbo-lora"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "type": "array"
                                                      },
                                                      "name": {
                                                        "description": "The name that must be user to call the model through the API",
                                                        "type": "string"
                                                      },
                                                      "parent": {
                                                        "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                        "type": "boolean"
                                                      },
                                                      "placeholder": {
                                                        "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                        "type": "string"
                                                      },
                                                      "prompt": {
                                                        "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                        "type": "boolean"
                                                      },
                                                      "promptSpark": {
                                                        "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                        "type": "boolean"
                                                      },
                                                      "ref": {
                                                        "additionalProperties": false,
                                                        "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                        "properties": {
                                                          "conditional": {
                                                            "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                            "items": {
                                                              "type": "string"
                                                            },
                                                            "type": "array"
                                                          },
                                                          "equal": {
                                                            "description": "This is the desired node output value if ref is an if/else node.",
                                                            "type": "string"
                                                          },
                                                          "name": {
                                                            "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                            "type": "string"
                                                          },
                                                          "node": {
                                                            "description": "The node id or 'workflow' if the source is a workflow input.",
                                                            "type": "string"
                                                          }
                                                        },
                                                        "type": "object"
                                                      },
                                                      "required": {
                                                        "additionalProperties": false,
                                                        "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                        "properties": {
                                                          "always": {
                                                            "description": "Whether the input is always required",
                                                            "type": "boolean"
                                                          },
                                                          "conditional": {
                                                            "additionalProperties": false,
                                                            "description": "Makes this input required when other inputs have one of the listed values",
                                                            "properties": {
                                                              "operator": {
                                                                "default": "and",
                                                                "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                                "enum": [
                                                                  "and",
                                                                  "or"
                                                                ],
                                                                "type": "string"
                                                              },
                                                              "values": {
                                                                "additionalProperties": false,
                                                                "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                                "type": "object"
                                                              }
                                                            },
                                                            "required": [
                                                              "values"
                                                            ],
                                                            "type": "object"
                                                          },
                                                          "ifDefined": {
                                                            "additionalProperties": false,
                                                            "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                            "type": "object"
                                                          },
                                                          "ifNotDefined": {
                                                            "additionalProperties": false,
                                                            "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                            "type": "object"
                                                          }
                                                        },
                                                        "type": "object"
                                                      },
                                                      "step": {
                                                        "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                        "minimum": 1,
                                                        "type": "number"
                                                      },
                                                      "type": {
                                                        "description": "The data type of the input",
                                                        "enum": [
                                                          "boolean",
                                                          "file",
                                                          "file_array",
                                                          "inputs_array",
                                                          "model",
                                                          "model_array",
                                                          "number",
                                                          "number_array",
                                                          "string",
                                                          "string_array"
                                                        ],
                                                        "type": "string"
                                                      },
                                                      "value": {
                                                        "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                      }
                                                    },
                                                    "required": [
                                                      "name",
                                                      "type"
                                                    ],
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "type": "array"
                                              },
                                              "kind": {
                                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                "enum": [
                                                  "3d",
                                                  "audio",
                                                  "document",
                                                  "image",
                                                  "image-hdr",
                                                  "json",
                                                  "text",
                                                  "video"
                                                ],
                                                "type": "string"
                                              },
                                              "label": {
                                                "description": "The label displayed in the UI for this input",
                                                "type": "string"
                                              },
                                              "maskFrom": {
                                                "description": "The name of the file input field to use as the mask source",
                                                "type": "string"
                                              },
                                              "max": {
                                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                "type": "number"
                                              },
                                              "maxDuration": {
                                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                "type": "number"
                                              },
                                              "maxLength": {
                                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                "type": "number"
                                              },
                                              "maxSize": {
                                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                "type": "number"
                                              },
                                              "min": {
                                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                "type": "number"
                                              },
                                              "minDuration": {
                                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                "type": "number"
                                              },
                                              "minLength": {
                                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                "type": "number"
                                              },
                                              "modelTypes": {
                                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                "items": {
                                                  "enum": [
                                                    "custom",
                                                    "elevenlabs-voice",
                                                    "flux.1",
                                                    "flux.1-composition",
                                                    "flux.1-kontext-dev",
                                                    "flux.1-kontext-lora",
                                                    "flux.1-krea-dev",
                                                    "flux.1-krea-lora",
                                                    "flux.1-lora",
                                                    "flux.1-pro",
                                                    "flux.1.1-pro-ultra",
                                                    "flux.2-dev-edit-lora",
                                                    "flux.2-dev-lora",
                                                    "flux.2-klein-4b-edit-lora",
                                                    "flux.2-klein-4b-lora",
                                                    "flux.2-klein-9b-edit-lora",
                                                    "flux.2-klein-9b-lora",
                                                    "flux.2-klein-base-4b-edit-lora",
                                                    "flux.2-klein-base-4b-lora",
                                                    "flux.2-klein-base-9b-edit-lora",
                                                    "flux.2-klein-base-9b-lora",
                                                    "flux1.1-pro",
                                                    "gpt-image-1",
                                                    "qwen-image-2512-lora",
                                                    "qwen-image-edit-2509-lora",
                                                    "qwen-image-edit-2511-lora",
                                                    "qwen-image-edit-lora",
                                                    "qwen-image-lora",
                                                    "zimage-de-turbo-lora",
                                                    "zimage-lora",
                                                    "zimage-turbo-lora"
                                                  ],
                                                  "type": "string"
                                                },
                                                "type": "array"
                                              },
                                              "name": {
                                                "description": "The name that must be user to call the model through the API",
                                                "type": "string"
                                              },
                                              "parent": {
                                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                "type": "boolean"
                                              },
                                              "placeholder": {
                                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                "type": "string"
                                              },
                                              "prompt": {
                                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                "type": "boolean"
                                              },
                                              "promptSpark": {
                                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                "type": "boolean"
                                              },
                                              "ref": {
                                                "additionalProperties": false,
                                                "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                "properties": {
                                                  "conditional": {
                                                    "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                    "items": {
                                                      "type": "string"
                                                    },
                                                    "type": "array"
                                                  },
                                                  "equal": {
                                                    "description": "This is the desired node output value if ref is an if/else node.",
                                                    "type": "string"
                                                  },
                                                  "name": {
                                                    "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                    "type": "string"
                                                  },
                                                  "node": {
                                                    "description": "The node id or 'workflow' if the source is a workflow input.",
                                                    "type": "string"
                                                  }
                                                },
                                                "type": "object"
                                              },
                                              "required": {
                                                "additionalProperties": false,
                                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                "properties": {
                                                  "always": {
                                                    "description": "Whether the input is always required",
                                                    "type": "boolean"
                                                  },
                                                  "conditional": {
                                                    "additionalProperties": false,
                                                    "description": "Makes this input required when other inputs have one of the listed values",
                                                    "properties": {
                                                      "operator": {
                                                        "default": "and",
                                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                        "enum": [
                                                          "and",
                                                          "or"
                                                        ],
                                                        "type": "string"
                                                      },
                                                      "values": {
                                                        "additionalProperties": false,
                                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                        "type": "object"
                                                      }
                                                    },
                                                    "required": [
                                                      "values"
                                                    ],
                                                    "type": "object"
                                                  },
                                                  "ifDefined": {
                                                    "additionalProperties": false,
                                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                    "type": "object"
                                                  },
                                                  "ifNotDefined": {
                                                    "additionalProperties": false,
                                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                    "type": "object"
                                                  }
                                                },
                                                "type": "object"
                                              },
                                              "step": {
                                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                "minimum": 1,
                                                "type": "number"
                                              },
                                              "type": {
                                                "description": "The data type of the input",
                                                "enum": [
                                                  "boolean",
                                                  "file",
                                                  "file_array",
                                                  "inputs_array",
                                                  "model",
                                                  "model_array",
                                                  "number",
                                                  "number_array",
                                                  "string",
                                                  "string_array"
                                                ],
                                                "type": "string"
                                              },
                                              "value": {
                                                "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                              }
                                            },
                                            "required": [
                                              "name",
                                              "type"
                                            ],
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "iterationIndex": {
                                          "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                          "type": "number"
                                        },
                                        "jobId": {
                                          "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                          "type": "string"
                                        },
                                        "logic": {
                                          "additionalProperties": false,
                                          "description": "The logic of the node.\nOnly available for logic nodes.",
                                          "properties": {
                                            "cases": {
                                              "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                              "items": {
                                                "additionalProperties": false,
                                                "properties": {
                                                  "condition": {
                                                    "type": "string"
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "required": [
                                                  "condition",
                                                  "value"
                                                ],
                                                "type": "object"
                                              },
                                              "type": "array"
                                            },
                                            "default": {
                                              "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                              "type": "string"
                                            },
                                            "transform": {
                                              "description": "The transform of the logic.\nOnly available for transform nodes.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "logicType": {
                                          "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                          "enum": [
                                            "if-else"
                                          ],
                                          "type": "string"
                                        },
                                        "loopBodyNodeIds": {
                                          "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "loopNodeId": {
                                          "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                          "type": "string"
                                        },
                                        "modelId": {
                                          "description": "The model id for the node. Mainly used for custom model tasks.",
                                          "type": "string"
                                        },
                                        "output": {
                                          "description": "The output of the node.\nOnly available for logic nodes."
                                        },
                                        "status": {
                                          "description": "The status of the node. Only available for WorkflowJob nodes.",
                                          "enum": [
                                            "failure",
                                            "pending",
                                            "processing",
                                            "rejected",
                                            "skipped",
                                            "success"
                                          ],
                                          "type": "string"
                                        },
                                        "type": {
                                          "description": "The type of the job for the node.",
                                          "enum": [
                                            "custom-model",
                                            "for-each",
                                            "generate-prompt",
                                            "list",
                                            "logic",
                                            "model",
                                            "remove-background",
                                            "transform",
                                            "user-approval",
                                            "user-selection",
                                            "workflow"
                                          ],
                                          "type": "string"
                                        },
                                        "workflowId": {
                                          "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "id",
                                        "status",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "hint": {
                                    "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                                    "type": "string"
                                  },
                                  "input": {
                                    "additionalProperties": true,
                                    "description": "The inputs for the job",
                                    "properties": {},
                                    "type": "object"
                                  },
                                  "output": {
                                    "additionalProperties": true,
                                    "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                                    "properties": {},
                                    "type": "object"
                                  },
                                  "outputModelId": {
                                    "description": "For voice-clone jobs: the ID of the model being trained.",
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow ID of the job if job is part of a workflow.",
                                    "type": "string"
                                  },
                                  "workflowJobId": {
                                    "description": "The workflow job ID of the job if job is part of a workflow job.",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "ownerId": {
                                "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                                "type": "string"
                              },
                              "progress": {
                                "description": "Progress of the job (between 0 and 1)",
                                "type": "number"
                              },
                              "status": {
                                "description": "The current status of the job",
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              },
                              "statusHistory": {
                                "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "date": {
                                      "type": "string"
                                    },
                                    "status": {
                                      "enum": [
                                        "canceled",
                                        "failure",
                                        "finalizing",
                                        "in-progress",
                                        "pending",
                                        "queued",
                                        "success",
                                        "warming-up"
                                      ],
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "date",
                                    "status"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "taskId": {
                                "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                                "type": "string"
                              },
                              "updatedAt": {
                                "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "createdAt",
                              "jobId",
                              "jobType",
                              "metadata",
                              "progress",
                              "status",
                              "statusHistory",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "modelId": {
                            "description": "Model id of the model used to generate the asset",
                            "type": "string"
                          }
                        },
                        "required": [
                          "asset",
                          "modelId"
                        ],
                        "type": "object"
                      }
                    }
                  },
                  "required": [
                    "examples"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "assetIds": {
                    "description": "The list of asset ids to use as examples of the model. Maximum of 150 asset ids.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "assetIds"
                ],
                "type": "object"
              }
            }
          }
        }
      },
      "get": {
        "operationId": "GetModelsExamplesByModelId",
        "description": "List all examples of the given `modelId`",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The examples' `modelId` to retrieve",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "examples": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "asset": {
                            "additionalProperties": false,
                            "description": "Asset generated by the inference",
                            "properties": {
                              "authorId": {
                                "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                                "type": "string"
                              },
                              "automaticCaptioning": {
                                "description": "Automatic captioning of the asset",
                                "type": "string"
                              },
                              "collectionIds": {
                                "description": "A list of CollectionId this asset belongs to",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "createdAt": {
                                "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "deletedAt": {
                                "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                                "type": "string"
                              },
                              "description": {
                                "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                                "type": "string"
                              },
                              "editCapabilities": {
                                "description": "List of edit capabilities",
                                "items": {
                                  "enum": [
                                    "DETECTION",
                                    "GENERATIVE_FILL",
                                    "PIXELATE",
                                    "PROMPT_EDITING",
                                    "REFINE",
                                    "REFRAME",
                                    "REMOVE_BACKGROUND",
                                    "SEGMENTATION",
                                    "UPSCALE",
                                    "UPSCALE_360",
                                    "VECTORIZATION"
                                  ],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "embedding": {
                                "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                                "items": {
                                  "type": "number"
                                },
                                "type": "array"
                              },
                              "firstFrame": {
                                "additionalProperties": false,
                                "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                                "properties": {
                                  "assetId": {
                                    "type": "string"
                                  },
                                  "url": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "assetId",
                                  "url"
                                ],
                                "type": "object"
                              },
                              "id": {
                                "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "isHidden": {
                                "description": "Whether the asset is hidden.",
                                "type": "boolean"
                              },
                              "kind": {
                                "description": "The kind of asset",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "lastFrame": {
                                "additionalProperties": false,
                                "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                                "properties": {
                                  "assetId": {
                                    "type": "string"
                                  },
                                  "url": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "assetId",
                                  "url"
                                ],
                                "type": "object"
                              },
                              "metadata": {
                                "additionalProperties": false,
                                "description": "Metadata of the asset with some additional information",
                                "properties": {
                                  "angular": {
                                    "default": 0.5,
                                    "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                                    "maximum": 1,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "aspectRatio": {
                                    "description": "The optional aspect ratio given for the generation, only applicable for some models",
                                    "type": "string"
                                  },
                                  "backgroundOpacity": {
                                    "default": 0,
                                    "maximum": 255,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "baseModelId": {
                                    "description": "The baseModelId that maybe changed at inference time",
                                    "type": "string"
                                  },
                                  "bbox": {
                                    "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 4,
                                    "minItems": 4,
                                    "type": "array"
                                  },
                                  "betterQuality": {
                                    "default": false,
                                    "type": "boolean"
                                  },
                                  "cannyStructureImage": {
                                    "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                                    "type": "string"
                                  },
                                  "clustering": {
                                    "default": false,
                                    "description": "Activate clustering.",
                                    "type": "boolean"
                                  },
                                  "colorCorrection": {
                                    "default": true,
                                    "description": "Ensure upscaled tile have the same color histogram as original tile.",
                                    "type": "boolean"
                                  },
                                  "colorMode": {
                                    "type": "string"
                                  },
                                  "colorPrecision": {
                                    "type": "number"
                                  },
                                  "concepts": {
                                    "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "modelEpoch": {
                                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                          "type": "string"
                                        },
                                        "modelId": {
                                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                          "type": "string"
                                        },
                                        "scale": {
                                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                          "maximum": 2,
                                          "minimum": -2,
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "modelId",
                                        "scale"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "contours": {
                                    "items": {
                                      "items": {
                                        "items": {
                                          "items": {
                                            "type": "number"
                                          },
                                          "type": "array"
                                        },
                                        "type": "array"
                                      },
                                      "type": "array"
                                    },
                                    "type": "array"
                                  },
                                  "controlEnd": {
                                    "description": "End step for control.",
                                    "type": "number"
                                  },
                                  "copiedAt": {
                                    "description": "The date when the asset was copied to a project",
                                    "type": "string"
                                  },
                                  "cornerThreshold": {
                                    "type": "number"
                                  },
                                  "creativity": {
                                    "default": 35,
                                    "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "creativityDecay": {
                                    "default": 80,
                                    "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "defaultParameters": {
                                    "default": false,
                                    "description": "If true, use the default parameters",
                                    "type": "boolean"
                                  },
                                  "depthFidelity": {
                                    "default": 90,
                                    "description": "The depth fidelity if a depth image provided",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "depthImage": {
                                    "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                                    "type": "string"
                                  },
                                  "detailsLevel": {
                                    "default": 0,
                                    "description": "Amount of details to remove or add",
                                    "maximum": 50,
                                    "minimum": -50,
                                    "type": "number"
                                  },
                                  "dilate": {
                                    "default": 0,
                                    "maximum": 30,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "factor": {
                                    "default": 5,
                                    "description": "Contrast factor for Grayscale detector",
                                    "type": "number"
                                  },
                                  "fileName": {
                                    "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                                    "type": "string"
                                  },
                                  "filterSpeckle": {
                                    "type": "number"
                                  },
                                  "fractality": {
                                    "default": 40,
                                    "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "geometryEnforcement": {
                                    "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "guidance": {
                                    "description": "The guidance used to generate this asset",
                                    "type": "number"
                                  },
                                  "halfMode": {
                                    "type": "boolean"
                                  },
                                  "hdr": {
                                    "type": "number"
                                  },
                                  "height": {
                                    "type": "number"
                                  },
                                  "highThreshold": {
                                    "default": 200,
                                    "description": "High threshold for Canny detector",
                                    "type": "number"
                                  },
                                  "horizontalExpansionRatio": {
                                    "default": 1,
                                    "description": "(deprecated) Horizontal expansion ratio.",
                                    "maximum": 2,
                                    "minimum": 1,
                                    "type": "number"
                                  },
                                  "image": {
                                    "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                                    "type": "string"
                                  },
                                  "imageFidelity": {
                                    "default": 50,
                                    "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "imageType": {
                                    "default": "seamfull",
                                    "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                                    "enum": [
                                      "seamfull",
                                      "skybox",
                                      "texture"
                                    ],
                                    "type": "string"
                                  },
                                  "inferenceId": {
                                    "description": "The id of the Inference describing how this image was generated",
                                    "type": "string"
                                  },
                                  "inputFidelity": {
                                    "default": "low",
                                    "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                                    "enum": [
                                      "high",
                                      "low"
                                    ],
                                    "type": "string"
                                  },
                                  "inputLocation": {
                                    "default": "middle",
                                    "description": "Location of the input image in the output.",
                                    "enum": [
                                      "bottom",
                                      "left",
                                      "middle",
                                      "right",
                                      "top"
                                    ],
                                    "type": "string"
                                  },
                                  "invert": {
                                    "default": false,
                                    "description": "To invert the relief",
                                    "type": "boolean"
                                  },
                                  "keepsFileNames": {
                                    "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                                    "type": "boolean"
                                  },
                                  "keypointThreshold": {
                                    "default": 0.3,
                                    "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                                    "maximum": 1,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "kind": {
                                    "enum": [
                                      "3d",
                                      "audio",
                                      "document",
                                      "image",
                                      "image-hdr",
                                      "json",
                                      "text",
                                      "video"
                                    ],
                                    "type": "string"
                                  },
                                  "layerDifference": {
                                    "type": "number"
                                  },
                                  "lengthThreshold": {
                                    "type": "number"
                                  },
                                  "lockExpiresAt": {
                                    "description": "The ISO timestamp when the lock on the canvas will expire",
                                    "type": "string"
                                  },
                                  "lowThreshold": {
                                    "default": 100,
                                    "description": "Low threshold for Canny detector",
                                    "type": "number"
                                  },
                                  "mask": {
                                    "description": "The mask used for the asset generation or editing",
                                    "type": "string"
                                  },
                                  "maxIterations": {
                                    "type": "number"
                                  },
                                  "maxThreshold": {
                                    "default": 90,
                                    "description": "Maximum threshold for Grayscale conversion",
                                    "type": "number"
                                  },
                                  "minThreshold": {
                                    "default": 10,
                                    "description": "Minimum threshold for Grayscale conversion",
                                    "type": "number"
                                  },
                                  "modality": {
                                    "default": "canny",
                                    "description": "Modality to detect",
                                    "enum": [
                                      "canny",
                                      "depth",
                                      "grayscale",
                                      "lineart_anime",
                                      "mlsd",
                                      "normal",
                                      "pose",
                                      "scribble",
                                      "segmentation",
                                      "sketch"
                                    ],
                                    "type": "string"
                                  },
                                  "mode": {
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The modelId used to generate this asset",
                                    "type": "string"
                                  },
                                  "modelType": {
                                    "description": "The type of the generator used",
                                    "enum": [
                                      "custom",
                                      "elevenlabs-voice",
                                      "flux.1",
                                      "flux.1-composition",
                                      "flux.1-kontext-dev",
                                      "flux.1-kontext-lora",
                                      "flux.1-krea-dev",
                                      "flux.1-krea-lora",
                                      "flux.1-lora",
                                      "flux.1-pro",
                                      "flux.1.1-pro-ultra",
                                      "flux.2-dev-edit-lora",
                                      "flux.2-dev-lora",
                                      "flux.2-klein-4b-edit-lora",
                                      "flux.2-klein-4b-lora",
                                      "flux.2-klein-9b-edit-lora",
                                      "flux.2-klein-9b-lora",
                                      "flux.2-klein-base-4b-edit-lora",
                                      "flux.2-klein-base-4b-lora",
                                      "flux.2-klein-base-9b-edit-lora",
                                      "flux.2-klein-base-9b-lora",
                                      "flux1.1-pro",
                                      "gpt-image-1",
                                      "qwen-image-2512-lora",
                                      "qwen-image-edit-2509-lora",
                                      "qwen-image-edit-2511-lora",
                                      "qwen-image-edit-lora",
                                      "qwen-image-lora",
                                      "zimage-de-turbo-lora",
                                      "zimage-lora",
                                      "zimage-turbo-lora"
                                    ],
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "nbMasks": {
                                    "type": "number"
                                  },
                                  "negativePrompt": {
                                    "description": "The negative prompt used to generate this asset",
                                    "type": "string"
                                  },
                                  "negativePromptStrength": {
                                    "default": 0,
                                    "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                                    "maximum": 10,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "numInferenceSteps": {
                                    "default": 10,
                                    "description": "The number of denoising steps for each image generation.",
                                    "maximum": 50,
                                    "minimum": 5,
                                    "type": "number"
                                  },
                                  "numOutputs": {
                                    "default": 4,
                                    "description": "The number of outputs to generate.",
                                    "maximum": 8,
                                    "minimum": 1,
                                    "type": "number"
                                  },
                                  "originalAssetId": {
                                    "type": "string"
                                  },
                                  "outputIndex": {
                                    "type": "number"
                                  },
                                  "overlapPercentage": {
                                    "default": 0.08,
                                    "description": "Overlap percentage for the output image.",
                                    "maximum": 0.5,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "overrideEmbeddings": {
                                    "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                                    "type": "boolean"
                                  },
                                  "parentId": {
                                    "type": "string"
                                  },
                                  "parentJobId": {
                                    "type": "string"
                                  },
                                  "pathPrecision": {
                                    "type": "number"
                                  },
                                  "points": {
                                    "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                                    "items": {
                                      "items": {
                                        "type": "number"
                                      },
                                      "type": "array"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "polished": {
                                    "default": 0.5,
                                    "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                                    "maximum": 1,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "preset": {
                                    "type": "string"
                                  },
                                  "progressPercent": {
                                    "type": "number"
                                  },
                                  "prompt": {
                                    "description": "The prompt that guided the asset generation or editing",
                                    "type": "string"
                                  },
                                  "promptFidelity": {
                                    "default": 50,
                                    "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "raised": {
                                    "default": 0.5,
                                    "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                                    "maximum": 1,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "referenceImages": {
                                    "description": "The reference images used for the asset generation or editing",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "refinementSteps": {
                                    "default": 0,
                                    "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                                    "maximum": 4,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "removeBackground": {
                                    "default": true,
                                    "description": "Remove background for Grayscale detector",
                                    "type": "boolean"
                                  },
                                  "resizeOption": {
                                    "default": 1,
                                    "description": "Size proportion of the input image in the output.",
                                    "maximum": 1,
                                    "minimum": 0.1,
                                    "type": "number"
                                  },
                                  "resultContours": {
                                    "default": false,
                                    "description": "Boolean to output the contours.",
                                    "type": "boolean"
                                  },
                                  "resultImage": {
                                    "default": false,
                                    "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                                    "type": "boolean"
                                  },
                                  "resultMask": {
                                    "default": true,
                                    "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                                    "type": "boolean"
                                  },
                                  "rootParentId": {
                                    "type": "string"
                                  },
                                  "saveFlipbook": {
                                    "default": true,
                                    "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                                    "type": "boolean"
                                  },
                                  "scalingFactor": {
                                    "default": 2,
                                    "description": "Scaling factor (when `targetWidth` not specified)",
                                    "maximum": 16,
                                    "minimum": 1,
                                    "type": "number"
                                  },
                                  "scheduler": {
                                    "description": "The scheduler used to generate this asset",
                                    "type": "string"
                                  },
                                  "seed": {
                                    "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                                    "type": "string"
                                  },
                                  "sharpen": {
                                    "default": false,
                                    "description": "Sharpen tiles.",
                                    "type": "boolean"
                                  },
                                  "shiny": {
                                    "default": 0.5,
                                    "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                                    "maximum": 1,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "size": {
                                    "type": "number"
                                  },
                                  "sketch": {
                                    "default": false,
                                    "description": "Activate sketch detection instead of canny.",
                                    "type": "boolean"
                                  },
                                  "sourceProjectId": {
                                    "type": "string"
                                  },
                                  "spliceThreshold": {
                                    "type": "number"
                                  },
                                  "strength": {
                                    "default": 1,
                                    "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                                    "type": "number"
                                  },
                                  "structureFidelity": {
                                    "default": 35,
                                    "description": "Strength for the input image structure preservation",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "structureImage": {
                                    "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                                    "type": "string"
                                  },
                                  "style": {
                                    "enum": [
                                      "3d-cartoon",
                                      "3d-rendered",
                                      "anime",
                                      "cartoon",
                                      "cinematic",
                                      "claymation",
                                      "cloud-skydome",
                                      "comic",
                                      "cyberpunk",
                                      "enchanted",
                                      "fantasy",
                                      "ink",
                                      "manga",
                                      "manga-color",
                                      "minimalist",
                                      "neon-tron",
                                      "oil-painting",
                                      "pastel",
                                      "photo",
                                      "photography",
                                      "psychedelic",
                                      "retro-fantasy",
                                      "scifi-concept-art",
                                      "space",
                                      "standard",
                                      "whimsical"
                                    ],
                                    "type": "string"
                                  },
                                  "styleFidelity": {
                                    "default": 20,
                                    "description": "The higher the value the more it will look like the style image(s)",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "styleImages": {
                                    "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "maxItems": 10,
                                    "type": "array"
                                  },
                                  "styleImagesFidelity": {
                                    "default": 17,
                                    "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                                    "maximum": 100,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "targetHeight": {
                                    "default": 1024,
                                    "description": "The target height of the output image.",
                                    "maximum": 2048,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "targetWidth": {
                                    "description": "Target width for the upscaled image, take priority over scaling factor",
                                    "maximum": 16000,
                                    "minimum": 1024,
                                    "type": "number"
                                  },
                                  "text": {
                                    "description": "A textual description / keywords describing the object of interest.",
                                    "maxLength": 100,
                                    "type": "string"
                                  },
                                  "texture": {
                                    "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                                    "type": "string"
                                  },
                                  "thumbnail": {
                                    "additionalProperties": false,
                                    "description": "The thumbnail of the canvas",
                                    "properties": {
                                      "assetId": {
                                        "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                        "type": "string"
                                      },
                                      "url": {
                                        "description": "The url of the image used as a thumbnail for the canvas",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "assetId",
                                      "url"
                                    ],
                                    "type": "object"
                                  },
                                  "tileStyle": {
                                    "default": false,
                                    "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                                    "type": "boolean"
                                  },
                                  "trainingImage": {
                                    "type": "boolean"
                                  },
                                  "type": {
                                    "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                                    "enum": [
                                      "3d-texture",
                                      "3d-texture-albedo",
                                      "3d-texture-metallic",
                                      "3d-texture-mtl",
                                      "3d-texture-normal",
                                      "3d-texture-roughness",
                                      "3d23d",
                                      "3d23d-texture",
                                      "audio2audio",
                                      "audio2txt",
                                      "audio2video",
                                      "background-removal",
                                      "canvas",
                                      "canvas-drawing",
                                      "canvas-export",
                                      "detection",
                                      "generative-fill",
                                      "image-prompt-editing",
                                      "img23d",
                                      "img2img",
                                      "img2splat",
                                      "img2txt",
                                      "img2video",
                                      "inference-controlnet",
                                      "inference-controlnet-img2img",
                                      "inference-controlnet-inpaint",
                                      "inference-controlnet-inpaint-ip-adapter",
                                      "inference-controlnet-ip-adapter",
                                      "inference-controlnet-reference",
                                      "inference-controlnet-texture",
                                      "inference-img2img",
                                      "inference-img2img-ip-adapter",
                                      "inference-img2img-texture",
                                      "inference-inpaint",
                                      "inference-inpaint-ip-adapter",
                                      "inference-reference",
                                      "inference-reference-texture",
                                      "inference-txt2img",
                                      "inference-txt2img-ip-adapter",
                                      "inference-txt2img-texture",
                                      "patch",
                                      "pixelization",
                                      "reframe",
                                      "restyle",
                                      "segment",
                                      "segmentation-image",
                                      "segmentation-mask",
                                      "skybox-3d",
                                      "skybox-base-360",
                                      "skybox-hdri",
                                      "texture",
                                      "texture-albedo",
                                      "texture-ao",
                                      "texture-edge",
                                      "texture-height",
                                      "texture-metallic",
                                      "texture-normal",
                                      "texture-smoothness",
                                      "txt23d",
                                      "txt2audio",
                                      "txt2img",
                                      "txt2txt",
                                      "txt2video",
                                      "unknown",
                                      "uploaded",
                                      "uploaded-3d",
                                      "uploaded-audio",
                                      "uploaded-avatar",
                                      "uploaded-text",
                                      "uploaded-video",
                                      "upscale",
                                      "upscale-skybox",
                                      "upscale-texture",
                                      "upscale-video",
                                      "vectorization",
                                      "video23d",
                                      "video2audio",
                                      "video2img",
                                      "video2txt",
                                      "video2video",
                                      "voice-clone"
                                    ],
                                    "type": "string"
                                  },
                                  "verticalExpansionRatio": {
                                    "default": 1,
                                    "description": "(deprecated) Vertical expansion ratio.",
                                    "maximum": 2,
                                    "minimum": 1,
                                    "type": "number"
                                  },
                                  "width": {
                                    "default": 1536,
                                    "description": "The width of the rendered image.",
                                    "maximum": 2048,
                                    "minimum": 1024,
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "kind",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "mimeType": {
                                "description": "The mime type of the asset (example: \"image/png\")",
                                "type": "string"
                              },
                              "nsfw": {
                                "description": "The NSFW labels",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "originalFileUrl": {
                                "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                                "type": "string"
                              },
                              "originalMimeType": {
                                "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                                "enum": [
                                  "application/gzip",
                                  "application/json",
                                  "application/octet-stream",
                                  "application/pdf",
                                  "application/safetensors",
                                  "application/vnd.autodesk.fbx",
                                  "application/x-authorware-bin",
                                  "application/x-zip-compressed",
                                  "application/x.autodesk.fbx",
                                  "application/zip",
                                  "audio/flac",
                                  "audio/m4a",
                                  "audio/mpeg",
                                  "audio/ogg",
                                  "audio/wav",
                                  "image/aces",
                                  "image/avif",
                                  "image/bmp",
                                  "image/gif",
                                  "image/heic",
                                  "image/jpeg",
                                  "image/png",
                                  "image/svg+xml",
                                  "image/tiff",
                                  "image/vnd.radiance",
                                  "image/webp",
                                  "image/x-exr",
                                  "model/glb",
                                  "model/gltf+json",
                                  "model/gltf-binary",
                                  "model/ksplat",
                                  "model/mtl",
                                  "model/obj",
                                  "model/ply",
                                  "model/sog",
                                  "model/splat",
                                  "model/spz",
                                  "model/stl",
                                  "model/vnd.collada+xml",
                                  "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                                  "model/vnd.usdz+zip",
                                  "model/x-3d-vox",
                                  "model/x-blender",
                                  "model/x-fbx",
                                  "model/x-maya-ascii",
                                  "model/x-maya-binary",
                                  "model/x-vsplat",
                                  "model/x3d+xml",
                                  "text/plain",
                                  "video/mp4",
                                  "video/quicktime",
                                  "video/webm"
                                ],
                                "type": "string"
                              },
                              "outputIndex": {
                                "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                                "type": "number"
                              },
                              "ownerId": {
                                "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                                "type": "string"
                              },
                              "preview": {
                                "additionalProperties": false,
                                "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                                "properties": {
                                  "assetId": {
                                    "type": "string"
                                  },
                                  "url": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "assetId",
                                  "url"
                                ],
                                "type": "object"
                              },
                              "privacy": {
                                "description": "The privacy of the asset",
                                "enum": [
                                  "private",
                                  "public",
                                  "unlisted"
                                ],
                                "type": "string"
                              },
                              "properties": {
                                "additionalProperties": false,
                                "description": "The properties of the asset, content may depend on the kind of asset returned",
                                "properties": {
                                  "animationFrameCount": {
                                    "description": "Number of animation frames if animations exist",
                                    "type": "number"
                                  },
                                  "bitrate": {
                                    "description": "Bitrate of the media in bits per second",
                                    "type": "number"
                                  },
                                  "boneCount": {
                                    "description": "Number of bones if skeleton exists",
                                    "type": "number"
                                  },
                                  "cameraMode": {
                                    "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                                    "enum": [
                                      "aerial",
                                      "interior",
                                      "turntable"
                                    ],
                                    "type": "string"
                                  },
                                  "cameraTrajectory": {
                                    "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                      "properties": {
                                        "fov": {
                                          "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                          "type": "number"
                                        },
                                        "position": {
                                          "description": "Camera eye position in the splat's world frame.",
                                          "items": {
                                            "type": "number"
                                          },
                                          "maxItems": 3,
                                          "minItems": 3,
                                          "type": "array"
                                        },
                                        "target": {
                                          "description": "Look-at point in the splat's world frame.",
                                          "items": {
                                            "type": "number"
                                          },
                                          "maxItems": 3,
                                          "minItems": 3,
                                          "type": "array"
                                        }
                                      },
                                      "required": [
                                        "position",
                                        "target"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "channels": {
                                    "description": "Number of channels of the audio",
                                    "type": "number"
                                  },
                                  "charCount": {
                                    "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                                    "type": "number"
                                  },
                                  "classification": {
                                    "description": "Classification of the audio",
                                    "enum": [
                                      "effect",
                                      "interview",
                                      "music",
                                      "other",
                                      "sound",
                                      "speech",
                                      "text",
                                      "unknown"
                                    ],
                                    "type": "string"
                                  },
                                  "codecName": {
                                    "description": "Codec name of the media",
                                    "type": "string"
                                  },
                                  "description": {
                                    "description": "Description of the audio",
                                    "type": "string"
                                  },
                                  "dimensions": {
                                    "description": "Bounding box dimensions [width, height, depth]",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "duration": {
                                    "description": "Duration of the media in seconds",
                                    "type": "number"
                                  },
                                  "faceCount": {
                                    "description": "Number of faces/triangles in the mesh",
                                    "type": "number"
                                  },
                                  "format": {
                                    "description": "Format of the mesh file (e.g. 'glb', etc.)",
                                    "type": "string"
                                  },
                                  "frameRate": {
                                    "description": "Frame rate of the video in frames per second",
                                    "type": "number"
                                  },
                                  "hasAnimations": {
                                    "description": "Whether the mesh has animations",
                                    "type": "boolean"
                                  },
                                  "hasFullPreview": {
                                    "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                                    "type": "boolean"
                                  },
                                  "hasNormals": {
                                    "description": "Whether the mesh has normal vectors",
                                    "type": "boolean"
                                  },
                                  "hasSkeleton": {
                                    "description": "Whether the mesh has bones/skeleton",
                                    "type": "boolean"
                                  },
                                  "hasUVs": {
                                    "description": "Whether the mesh has UV coordinates",
                                    "type": "boolean"
                                  },
                                  "height": {
                                    "type": "number"
                                  },
                                  "nbFrames": {
                                    "description": "Number of frames in the video",
                                    "type": "number"
                                  },
                                  "preview": {
                                    "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                                    "type": "string"
                                  },
                                  "sampleRate": {
                                    "description": "Sample rate of the media in Hz",
                                    "type": "number"
                                  },
                                  "size": {
                                    "type": "number"
                                  },
                                  "transcription": {
                                    "additionalProperties": false,
                                    "description": "Transcription of the audio",
                                    "properties": {
                                      "text": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "text"
                                    ],
                                    "type": "object"
                                  },
                                  "vertexCount": {
                                    "description": "Number of vertices in the mesh",
                                    "type": "number"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "wordCount": {
                                    "description": "Number of whitespace-separated words in the text",
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "size"
                                ],
                                "type": "object"
                              },
                              "qualityGate": {
                                "additionalProperties": false,
                                "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                                "properties": {
                                  "aiQualityScore": {
                                    "description": "Generic AI-quality sub-score",
                                    "type": "number"
                                  },
                                  "appliedBriefIds": {
                                    "description": "Ids of briefs that contributed",
                                    "items": {
                                      "description": "Opaque identifier for a brief, derived from its scope.",
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "briefComplianceScore": {
                                    "description": "Brief-compliance sub-score (omitted when no brief applied)",
                                    "type": "number"
                                  },
                                  "computedAt": {
                                    "description": "ISO-8601 timestamp of when scoring ran",
                                    "type": "string"
                                  },
                                  "details": {
                                    "additionalProperties": false,
                                    "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                                    "properties": {
                                      "aiQuality": {
                                        "additionalProperties": false,
                                        "description": "Always-on generic AI-quality dimension",
                                        "properties": {
                                          "reasons": {
                                            "description": "Why the image scored as it did",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          },
                                          "score": {
                                            "description": "0–100; higher is better (more compliant / less AI-looking)",
                                            "type": "number"
                                          },
                                          "suggestions": {
                                            "description": "Actionable suggestions to improve the score",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          }
                                        },
                                        "required": [
                                          "reasons",
                                          "score",
                                          "suggestions"
                                        ],
                                        "type": "object"
                                      },
                                      "briefCompliance": {
                                        "additionalProperties": false,
                                        "description": "Brief-compliance dimension; omitted when no brief applied",
                                        "properties": {
                                          "reasons": {
                                            "description": "Why the image scored as it did",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          },
                                          "score": {
                                            "description": "0–100; higher is better (more compliant / less AI-looking)",
                                            "type": "number"
                                          },
                                          "suggestions": {
                                            "description": "Actionable suggestions to improve the score",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          }
                                        },
                                        "required": [
                                          "reasons",
                                          "score",
                                          "suggestions"
                                        ],
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "aiQuality"
                                    ],
                                    "type": "object"
                                  },
                                  "error": {
                                    "description": "Error message when status is 'error' (truncated)",
                                    "type": "string"
                                  },
                                  "overallScore": {
                                    "description": "0–100 composite score (present when status is 'scored')",
                                    "type": "number"
                                  },
                                  "sensitivity": {
                                    "description": "Sensitivity used for the verdict",
                                    "enum": [
                                      "high",
                                      "low",
                                      "medium"
                                    ],
                                    "type": "string"
                                  },
                                  "status": {
                                    "description": "Whether scoring succeeded or errored",
                                    "enum": [
                                      "error",
                                      "scored"
                                    ],
                                    "type": "string"
                                  },
                                  "verdict": {
                                    "description": "pass / warn / fail (present when status is 'scored')",
                                    "enum": [
                                      "fail",
                                      "pass",
                                      "warn"
                                    ],
                                    "type": "string"
                                  },
                                  "version": {
                                    "description": "Rubric/model version that produced this result",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "computedAt",
                                  "status",
                                  "version"
                                ],
                                "type": "object"
                              },
                              "source": {
                                "description": "source of the asset",
                                "enum": [
                                  "3d23d",
                                  "3d23d:texture",
                                  "3d:texture",
                                  "3d:texture:albedo",
                                  "3d:texture:metallic",
                                  "3d:texture:mtl",
                                  "3d:texture:normal",
                                  "3d:texture:roughness",
                                  "audio2audio",
                                  "audio2txt",
                                  "audio2video",
                                  "background-removal",
                                  "canvas",
                                  "canvas-drawing",
                                  "canvas-export",
                                  "detection",
                                  "generative-fill",
                                  "image-prompt-editing",
                                  "img23d",
                                  "img2img",
                                  "img2splat",
                                  "img2txt",
                                  "img2video",
                                  "inference-control-net",
                                  "inference-control-net-img",
                                  "inference-control-net-inpainting",
                                  "inference-control-net-inpainting-ip-adapter",
                                  "inference-control-net-ip-adapter",
                                  "inference-control-net-reference",
                                  "inference-control-net-texture",
                                  "inference-img",
                                  "inference-img-ip-adapter",
                                  "inference-img-texture",
                                  "inference-in-paint",
                                  "inference-in-paint-ip-adapter",
                                  "inference-reference",
                                  "inference-reference-texture",
                                  "inference-txt",
                                  "inference-txt-ip-adapter",
                                  "inference-txt-texture",
                                  "patch",
                                  "pixelization",
                                  "reframe",
                                  "restyle",
                                  "segment",
                                  "segmentation-image",
                                  "segmentation-mask",
                                  "skybox-3d",
                                  "skybox-base-360",
                                  "skybox-hdri",
                                  "texture",
                                  "texture:albedo",
                                  "texture:ao",
                                  "texture:edge",
                                  "texture:height",
                                  "texture:metallic",
                                  "texture:normal",
                                  "texture:smoothness",
                                  "txt23d",
                                  "txt2audio",
                                  "txt2img",
                                  "txt2txt",
                                  "txt2video",
                                  "unknown",
                                  "uploaded",
                                  "uploaded-3d",
                                  "uploaded-audio",
                                  "uploaded-avatar",
                                  "uploaded-text",
                                  "uploaded-video",
                                  "upscale",
                                  "upscale-skybox",
                                  "upscale-texture",
                                  "upscale-video",
                                  "vectorization",
                                  "video23d",
                                  "video2audio",
                                  "video2img",
                                  "video2txt",
                                  "video2video",
                                  "voice-clone"
                                ],
                                "type": "string"
                              },
                              "status": {
                                "description": "The actual status",
                                "enum": [
                                  "error",
                                  "pending",
                                  "success"
                                ],
                                "type": "string"
                              },
                              "tags": {
                                "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "thumbnail": {
                                "additionalProperties": false,
                                "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                                "properties": {
                                  "assetId": {
                                    "type": "string"
                                  },
                                  "url": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "assetId",
                                  "url"
                                ],
                                "type": "object"
                              },
                              "updatedAt": {
                                "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "url": {
                                "description": "Signed URL to get the asset content",
                                "type": "string"
                              }
                            },
                            "required": [
                              "authorId",
                              "collectionIds",
                              "createdAt",
                              "editCapabilities",
                              "id",
                              "kind",
                              "metadata",
                              "mimeType",
                              "ownerId",
                              "privacy",
                              "properties",
                              "source",
                              "status",
                              "tags",
                              "updatedAt",
                              "url"
                            ],
                            "type": "object"
                          },
                          "inferenceId": {
                            "description": "Inference id of the inference used to generate the asset",
                            "type": "string"
                          },
                          "inferenceParameters": {
                            "additionalProperties": false,
                            "description": "The inference parameters used to generate the asset",
                            "properties": {
                              "aspectRatio": {
                                "default": "1:1",
                                "description": "The aspect ratio of the generated images. Only used for the model flux.1.1-pro-ultra.\nThe aspect ratio is a string formatted as \"width:height\" (example: \"16:9\").",
                                "enum": [
                                  "16:9",
                                  "1:1",
                                  "21:9",
                                  "2:3",
                                  "3:2",
                                  "3:4",
                                  "4:3",
                                  "4:5",
                                  "5:4",
                                  "9:16",
                                  "9:21"
                                ],
                                "type": "string"
                              },
                              "baseModelId": {
                                "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                                "type": "string"
                              },
                              "concepts": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "modelEpoch": {
                                      "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                      "type": "string"
                                    },
                                    "modelId": {
                                      "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                      "type": "string"
                                    },
                                    "scale": {
                                      "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                      "maximum": 2,
                                      "minimum": -2,
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "modelId",
                                    "scale"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "controlEnd": {
                                "default": 0.5,
                                "description": "Specifies how long the ControlNet guidance should be applied during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance is active.\nFor example:\n- 1.0: ControlNet guidance is applied during all inference steps\n- 0.5: ControlNet guidance is only applied during the first half of inference steps\n\nDefault values:\n- 0.5 for Canny modality\n- 0.6 for all other modalities",
                                "maximum": 1,
                                "minimum": 0.1,
                                "type": "number"
                              },
                              "controlImage": {
                                "description": "Signed URL to display the controlnet input image",
                                "type": "string"
                              },
                              "controlImageId": {
                                "description": "Asset id of the controlnet input image",
                                "type": "string"
                              },
                              "controlStart": {
                                "default": 0,
                                "description": "Specifies the starting point of the ControlNet guidance during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance starts.\nFor example:\n- 0.0: ControlNet guidance starts at the beginning of the inference steps\n- 0.5: ControlNet guidance starts at the middle of the inference steps",
                                "maximum": 0.9,
                                "minimum": 0,
                                "type": "number"
                              },
                              "disableMerging": {
                                "default": false,
                                "description": "If set to true, the entire input image will likely change during inpainting. This results in faster inferences, but the output image will be harder to integrate if the input is just a small part of a larger image.",
                                "type": "boolean"
                              },
                              "disableModalityDetection": {
                                "default": true,
                                "description": "If false, the process uses the given image to detect the modality.\nIf true (default), the process will not try to detect the modality of the given image.\n\nFor example:\nwith `pose` modality and `false` value, the process will detect the pose of people in the given image\nwith `depth` modality and `false` value, the process will detect the depth of the given image\nwith `scribble` modality and `true`value, the process will use the given image as a scribble\n\n⚠️ For models of the FLUX schnell or dev families, this parameter is ignored. The modality detection is always disabled. ⚠️",
                                "type": "boolean"
                              },
                              "guidance": {
                                "default": 3.5,
                                "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                                "maximum": 20,
                                "minimum": 0,
                                "type": "number"
                              },
                              "height": {
                                "default": 512,
                                "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                                "maximum": 2048,
                                "minimum": 64,
                                "multipleOf": 8,
                                "type": "number"
                              },
                              "hideResults": {
                                "default": false,
                                "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                                "type": "boolean"
                              },
                              "image": {
                                "description": "Signed URL to display the input image",
                                "type": "string"
                              },
                              "imageId": {
                                "description": "Asset id of the input image",
                                "type": "string"
                              },
                              "intermediateImages": {
                                "default": false,
                                "description": "Enable or disable the intermediate images generation (default: false)",
                                "type": "boolean"
                              },
                              "ipAdapterImage": {
                                "description": "Signed URL to display the IpAdapter image",
                                "type": "string"
                              },
                              "ipAdapterImageId": {
                                "description": "Asset id of the input IpAdapter image",
                                "type": "string"
                              },
                              "ipAdapterImageIds": {
                                "description": "Asset id of the input IpAdapter images",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "ipAdapterImages": {
                                "description": "Signed URL to display the IpAdapter images",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "ipAdapterScale": {
                                "default": 0.9,
                                "description": "IpAdapter scale factor (within [0.0, 1.0], default: 0.9).",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "ipAdapterScales": {
                                "default": 0.9,
                                "description": "IpAdapter scale factors (within [0.0, 1.0], default: 0.9).",
                                "items": {
                                  "type": "number"
                                },
                                "maximum": 1,
                                "minimum": 0,
                                "type": "array"
                              },
                              "ipAdapterType": {
                                "default": "style",
                                "description": "The type of IP Adapter model to use. Must be one of [`style`, `character`], default to `style``",
                                "enum": [
                                  "character",
                                  "style"
                                ],
                                "type": "string"
                              },
                              "mask": {
                                "description": "Signed URL to display the mask image",
                                "type": "string"
                              },
                              "maskId": {
                                "description": "Asset id of the mask image",
                                "type": "string"
                              },
                              "modality": {
                                "description": "The modality associated with the control image used for the generation: it can either be an object with a combination of maximum\n\nFor models of the FLUX schnell or dev families:\n- one modality from: `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality`\n\nOptionally, you can associate a value to these modalities or presets. The value must be within `]0.0, 1.0]`.\n\nExamples:\n- `canny`\n- `depth:0.5,pose:1.0`\n- `canny:0.5,depth:0.5,lines:0.3`\n- `landscape`\n- `character:0.5`\n- `illusion:1`\n\nNote: if you use a value that is not supported by the model family, this will result in an error.",
                                "type": "string"
                              },
                              "modelEpoch": {
                                "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                                "type": "string"
                              },
                              "negativePrompt": {
                                "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                                "type": "string"
                              },
                              "negativePromptStrength": {
                                "default": 0,
                                "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                                "maximum": 10,
                                "minimum": 0,
                                "type": "number"
                              },
                              "numInferenceSteps": {
                                "default": 30,
                                "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                                "maximum": 150,
                                "minimum": 1,
                                "type": "number"
                              },
                              "numSamples": {
                                "default": 4,
                                "description": "The number of images to generate (within [1, 128], default: 4)",
                                "maximum": 128,
                                "minimum": 1,
                                "type": "number"
                              },
                              "prompt": {
                                "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                                "type": "string"
                              },
                              "referenceAdain": {
                                "default": false,
                                "description": "Whether to use reference adain\nOnly for \"reference\" inference type",
                                "type": "boolean"
                              },
                              "referenceAttn": {
                                "default": false,
                                "description": "Whether to use reference query for self attention's context\nOnly for \"reference\" inference type",
                                "type": "boolean"
                              },
                              "scheduler": {
                                "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                                "enum": [
                                  "DDIMScheduler",
                                  "DDPMScheduler",
                                  "DEISMultistepScheduler",
                                  "DPMSolverMultistepScheduler",
                                  "DPMSolverSinglestepScheduler",
                                  "EulerAncestralDiscreteScheduler",
                                  "EulerDiscreteScheduler",
                                  "HeunDiscreteScheduler",
                                  "KDPM2AncestralDiscreteScheduler",
                                  "KDPM2DiscreteScheduler",
                                  "LCMScheduler",
                                  "LMSDiscreteScheduler",
                                  "PNDMScheduler",
                                  "TCDScheduler",
                                  "UniPCMultistepScheduler"
                                ],
                                "type": "string"
                              },
                              "seed": {
                                "description": "Used to reproduce previous results. Default: randomly generated number.",
                                "maximum": 2147483647,
                                "minimum": 0,
                                "type": "string"
                              },
                              "strength": {
                                "default": 0.75,
                                "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                                "maximum": 1,
                                "minimum": 0.01,
                                "type": "number"
                              },
                              "styleFidelity": {
                                "default": 0.5,
                                "description": "If style_fidelity=1.0, control more important, else if style_fidelity=0.0, prompt more important, else balanced\nOnly for \"reference\" inference type",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "type": {
                                "description": "The type of inference to use. Example: txt2img, img2img, etc.\n\nSelecting the right type will condition the expected parameters.\n\nNote: for inpainting with models that support multiple base models, Scenario determines the best available `baseModel` for a given `modelId`.",
                                "enum": [
                                  "controlnet",
                                  "controlnet_img2img",
                                  "controlnet_inpaint",
                                  "controlnet_inpaint_ip_adapter",
                                  "controlnet_ip_adapter",
                                  "controlnet_reference",
                                  "controlnet_texture",
                                  "img2img",
                                  "img2img_ip_adapter",
                                  "img2img_texture",
                                  "inpaint",
                                  "inpaint_ip_adapter",
                                  "outpaint",
                                  "reference",
                                  "reference_texture",
                                  "txt2img",
                                  "txt2img_ip_adapter",
                                  "txt2img_texture"
                                ],
                                "type": "string"
                              },
                              "width": {
                                "default": 512,
                                "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                                "maximum": 2048,
                                "minimum": 64,
                                "multipleOf": 8,
                                "type": "number"
                              }
                            },
                            "required": [
                              "prompt",
                              "type"
                            ],
                            "type": "object"
                          },
                          "job": {
                            "additionalProperties": false,
                            "description": "The job associated with the asset",
                            "properties": {
                              "authorId": {
                                "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                                "type": "string"
                              },
                              "billing": {
                                "additionalProperties": false,
                                "description": "The billing of the job",
                                "properties": {
                                  "cuCost": {
                                    "type": "number"
                                  },
                                  "cuCostDetails": {
                                    "additionalProperties": false,
                                    "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                                    "properties": {
                                      "ip-detection": {
                                        "type": "number"
                                      },
                                      "quality-gate": {
                                        "type": "number"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "cuDiscount": {
                                    "type": "number"
                                  },
                                  "disableRefund": {
                                    "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "cuCost",
                                  "cuDiscount"
                                ],
                                "type": "object"
                              },
                              "createdAt": {
                                "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "jobId": {
                                "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                                "type": "string"
                              },
                              "jobType": {
                                "description": "The type of job",
                                "enum": [
                                  "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",
                                  "splat",
                                  "texture",
                                  "translate",
                                  "upload",
                                  "upscale",
                                  "upscale-skybox",
                                  "upscale-texture",
                                  "vectorize",
                                  "workflow"
                                ],
                                "type": "string"
                              },
                              "metadata": {
                                "additionalProperties": false,
                                "description": "Metadata of the job with some additional information",
                                "properties": {
                                  "assetIds": {
                                    "description": "List of produced assets for this job",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "error": {
                                    "description": "Eventual error for the job",
                                    "type": "string",
                                    "nullable": true
                                  },
                                  "flow": {
                                    "description": "The flow of the job. Only available for workflow jobs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assets": {
                                          "description": "List of produced assets for this node.",
                                          "items": {
                                            "additionalProperties": false,
                                            "properties": {
                                              "assetId": {
                                                "type": "string"
                                              },
                                              "url": {
                                                "type": "string"
                                              }
                                            },
                                            "required": [
                                              "assetId",
                                              "url"
                                            ],
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "count": {
                                          "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                          "type": "number"
                                        },
                                        "dependsOn": {
                                          "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "id": {
                                          "description": "The id of the node.",
                                          "type": "string"
                                        },
                                        "includeOutputsInWorkflowJob": {
                                          "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                          "enum": [
                                            true
                                          ],
                                          "type": "boolean"
                                        },
                                        "inputs": {
                                          "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                          "items": {
                                            "additionalProperties": false,
                                            "description": "This is used to run the flow.",
                                            "properties": {
                                              "allowedValues": {
                                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                "items": {},
                                                "type": "array"
                                              },
                                              "backgroundBehavior": {
                                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                "enum": [
                                                  "opaque",
                                                  "transparent"
                                                ],
                                                "type": "string"
                                              },
                                              "color": {
                                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                "type": "boolean"
                                              },
                                              "costImpact": {
                                                "description": "Whether this input affects the model's cost calculation",
                                                "type": "boolean"
                                              },
                                              "default": {
                                                "description": "The default value for the input"
                                              },
                                              "description": {
                                                "description": "Help text displayed in the UI to provide additional information about the input",
                                                "type": "string"
                                              },
                                              "group": {
                                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                "type": "string"
                                              },
                                              "hint": {
                                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                "type": "string"
                                              },
                                              "inputs": {
                                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                "items": {
                                                  "additionalProperties": true,
                                                  "properties": {},
                                                  "type": "object"
                                                },
                                                "type": "array"
                                              },
                                              "items": {
                                                "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                                "items": {
                                                  "items": {
                                                    "additionalProperties": false,
                                                    "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                                    "properties": {
                                                      "allowedValues": {
                                                        "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                        "items": {},
                                                        "type": "array"
                                                      },
                                                      "backgroundBehavior": {
                                                        "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                        "enum": [
                                                          "opaque",
                                                          "transparent"
                                                        ],
                                                        "type": "string"
                                                      },
                                                      "color": {
                                                        "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                        "type": "boolean"
                                                      },
                                                      "costImpact": {
                                                        "description": "Whether this input affects the model's cost calculation",
                                                        "type": "boolean"
                                                      },
                                                      "default": {
                                                        "description": "The default value for the input"
                                                      },
                                                      "description": {
                                                        "description": "Help text displayed in the UI to provide additional information about the input",
                                                        "type": "string"
                                                      },
                                                      "group": {
                                                        "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                        "type": "string"
                                                      },
                                                      "hint": {
                                                        "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                        "type": "string"
                                                      },
                                                      "inputs": {
                                                        "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                        "items": {
                                                          "additionalProperties": true,
                                                          "properties": {},
                                                          "type": "object"
                                                        },
                                                        "type": "array"
                                                      },
                                                      "kind": {
                                                        "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                        "enum": [
                                                          "3d",
                                                          "audio",
                                                          "document",
                                                          "image",
                                                          "image-hdr",
                                                          "json",
                                                          "text",
                                                          "video"
                                                        ],
                                                        "type": "string"
                                                      },
                                                      "label": {
                                                        "description": "The label displayed in the UI for this input",
                                                        "type": "string"
                                                      },
                                                      "maskFrom": {
                                                        "description": "The name of the file input field to use as the mask source",
                                                        "type": "string"
                                                      },
                                                      "max": {
                                                        "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                        "type": "number"
                                                      },
                                                      "maxDuration": {
                                                        "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                        "type": "number"
                                                      },
                                                      "maxLength": {
                                                        "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                        "type": "number"
                                                      },
                                                      "maxSize": {
                                                        "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                        "type": "number"
                                                      },
                                                      "min": {
                                                        "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                        "type": "number"
                                                      },
                                                      "minDuration": {
                                                        "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                        "type": "number"
                                                      },
                                                      "minLength": {
                                                        "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                        "type": "number"
                                                      },
                                                      "modelTypes": {
                                                        "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                        "items": {
                                                          "enum": [
                                                            "custom",
                                                            "elevenlabs-voice",
                                                            "flux.1",
                                                            "flux.1-composition",
                                                            "flux.1-kontext-dev",
                                                            "flux.1-kontext-lora",
                                                            "flux.1-krea-dev",
                                                            "flux.1-krea-lora",
                                                            "flux.1-lora",
                                                            "flux.1-pro",
                                                            "flux.1.1-pro-ultra",
                                                            "flux.2-dev-edit-lora",
                                                            "flux.2-dev-lora",
                                                            "flux.2-klein-4b-edit-lora",
                                                            "flux.2-klein-4b-lora",
                                                            "flux.2-klein-9b-edit-lora",
                                                            "flux.2-klein-9b-lora",
                                                            "flux.2-klein-base-4b-edit-lora",
                                                            "flux.2-klein-base-4b-lora",
                                                            "flux.2-klein-base-9b-edit-lora",
                                                            "flux.2-klein-base-9b-lora",
                                                            "flux1.1-pro",
                                                            "gpt-image-1",
                                                            "qwen-image-2512-lora",
                                                            "qwen-image-edit-2509-lora",
                                                            "qwen-image-edit-2511-lora",
                                                            "qwen-image-edit-lora",
                                                            "qwen-image-lora",
                                                            "zimage-de-turbo-lora",
                                                            "zimage-lora",
                                                            "zimage-turbo-lora"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "type": "array"
                                                      },
                                                      "name": {
                                                        "description": "The name that must be user to call the model through the API",
                                                        "type": "string"
                                                      },
                                                      "parent": {
                                                        "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                        "type": "boolean"
                                                      },
                                                      "placeholder": {
                                                        "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                        "type": "string"
                                                      },
                                                      "prompt": {
                                                        "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                        "type": "boolean"
                                                      },
                                                      "promptSpark": {
                                                        "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                        "type": "boolean"
                                                      },
                                                      "ref": {
                                                        "additionalProperties": false,
                                                        "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                        "properties": {
                                                          "conditional": {
                                                            "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                            "items": {
                                                              "type": "string"
                                                            },
                                                            "type": "array"
                                                          },
                                                          "equal": {
                                                            "description": "This is the desired node output value if ref is an if/else node.",
                                                            "type": "string"
                                                          },
                                                          "name": {
                                                            "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                            "type": "string"
                                                          },
                                                          "node": {
                                                            "description": "The node id or 'workflow' if the source is a workflow input.",
                                                            "type": "string"
                                                          }
                                                        },
                                                        "type": "object"
                                                      },
                                                      "required": {
                                                        "additionalProperties": false,
                                                        "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                        "properties": {
                                                          "always": {
                                                            "description": "Whether the input is always required",
                                                            "type": "boolean"
                                                          },
                                                          "conditional": {
                                                            "additionalProperties": false,
                                                            "description": "Makes this input required when other inputs have one of the listed values",
                                                            "properties": {
                                                              "operator": {
                                                                "default": "and",
                                                                "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                                "enum": [
                                                                  "and",
                                                                  "or"
                                                                ],
                                                                "type": "string"
                                                              },
                                                              "values": {
                                                                "additionalProperties": false,
                                                                "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                                "type": "object"
                                                              }
                                                            },
                                                            "required": [
                                                              "values"
                                                            ],
                                                            "type": "object"
                                                          },
                                                          "ifDefined": {
                                                            "additionalProperties": false,
                                                            "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                            "type": "object"
                                                          },
                                                          "ifNotDefined": {
                                                            "additionalProperties": false,
                                                            "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                            "type": "object"
                                                          }
                                                        },
                                                        "type": "object"
                                                      },
                                                      "step": {
                                                        "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                        "minimum": 1,
                                                        "type": "number"
                                                      },
                                                      "type": {
                                                        "description": "The data type of the input",
                                                        "enum": [
                                                          "boolean",
                                                          "file",
                                                          "file_array",
                                                          "inputs_array",
                                                          "model",
                                                          "model_array",
                                                          "number",
                                                          "number_array",
                                                          "string",
                                                          "string_array"
                                                        ],
                                                        "type": "string"
                                                      },
                                                      "value": {
                                                        "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                      }
                                                    },
                                                    "required": [
                                                      "name",
                                                      "type"
                                                    ],
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "type": "array"
                                              },
                                              "kind": {
                                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                "enum": [
                                                  "3d",
                                                  "audio",
                                                  "document",
                                                  "image",
                                                  "image-hdr",
                                                  "json",
                                                  "text",
                                                  "video"
                                                ],
                                                "type": "string"
                                              },
                                              "label": {
                                                "description": "The label displayed in the UI for this input",
                                                "type": "string"
                                              },
                                              "maskFrom": {
                                                "description": "The name of the file input field to use as the mask source",
                                                "type": "string"
                                              },
                                              "max": {
                                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                "type": "number"
                                              },
                                              "maxDuration": {
                                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                "type": "number"
                                              },
                                              "maxLength": {
                                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                "type": "number"
                                              },
                                              "maxSize": {
                                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                "type": "number"
                                              },
                                              "min": {
                                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                "type": "number"
                                              },
                                              "minDuration": {
                                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                "type": "number"
                                              },
                                              "minLength": {
                                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                "type": "number"
                                              },
                                              "modelTypes": {
                                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                "items": {
                                                  "enum": [
                                                    "custom",
                                                    "elevenlabs-voice",
                                                    "flux.1",
                                                    "flux.1-composition",
                                                    "flux.1-kontext-dev",
                                                    "flux.1-kontext-lora",
                                                    "flux.1-krea-dev",
                                                    "flux.1-krea-lora",
                                                    "flux.1-lora",
                                                    "flux.1-pro",
                                                    "flux.1.1-pro-ultra",
                                                    "flux.2-dev-edit-lora",
                                                    "flux.2-dev-lora",
                                                    "flux.2-klein-4b-edit-lora",
                                                    "flux.2-klein-4b-lora",
                                                    "flux.2-klein-9b-edit-lora",
                                                    "flux.2-klein-9b-lora",
                                                    "flux.2-klein-base-4b-edit-lora",
                                                    "flux.2-klein-base-4b-lora",
                                                    "flux.2-klein-base-9b-edit-lora",
                                                    "flux.2-klein-base-9b-lora",
                                                    "flux1.1-pro",
                                                    "gpt-image-1",
                                                    "qwen-image-2512-lora",
                                                    "qwen-image-edit-2509-lora",
                                                    "qwen-image-edit-2511-lora",
                                                    "qwen-image-edit-lora",
                                                    "qwen-image-lora",
                                                    "zimage-de-turbo-lora",
                                                    "zimage-lora",
                                                    "zimage-turbo-lora"
                                                  ],
                                                  "type": "string"
                                                },
                                                "type": "array"
                                              },
                                              "name": {
                                                "description": "The name that must be user to call the model through the API",
                                                "type": "string"
                                              },
                                              "parent": {
                                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                "type": "boolean"
                                              },
                                              "placeholder": {
                                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                "type": "string"
                                              },
                                              "prompt": {
                                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                "type": "boolean"
                                              },
                                              "promptSpark": {
                                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                "type": "boolean"
                                              },
                                              "ref": {
                                                "additionalProperties": false,
                                                "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                "properties": {
                                                  "conditional": {
                                                    "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                    "items": {
                                                      "type": "string"
                                                    },
                                                    "type": "array"
                                                  },
                                                  "equal": {
                                                    "description": "This is the desired node output value if ref is an if/else node.",
                                                    "type": "string"
                                                  },
                                                  "name": {
                                                    "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                    "type": "string"
                                                  },
                                                  "node": {
                                                    "description": "The node id or 'workflow' if the source is a workflow input.",
                                                    "type": "string"
                                                  }
                                                },
                                                "type": "object"
                                              },
                                              "required": {
                                                "additionalProperties": false,
                                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                "properties": {
                                                  "always": {
                                                    "description": "Whether the input is always required",
                                                    "type": "boolean"
                                                  },
                                                  "conditional": {
                                                    "additionalProperties": false,
                                                    "description": "Makes this input required when other inputs have one of the listed values",
                                                    "properties": {
                                                      "operator": {
                                                        "default": "and",
                                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                        "enum": [
                                                          "and",
                                                          "or"
                                                        ],
                                                        "type": "string"
                                                      },
                                                      "values": {
                                                        "additionalProperties": false,
                                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                        "type": "object"
                                                      }
                                                    },
                                                    "required": [
                                                      "values"
                                                    ],
                                                    "type": "object"
                                                  },
                                                  "ifDefined": {
                                                    "additionalProperties": false,
                                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                    "type": "object"
                                                  },
                                                  "ifNotDefined": {
                                                    "additionalProperties": false,
                                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                    "type": "object"
                                                  }
                                                },
                                                "type": "object"
                                              },
                                              "step": {
                                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                "minimum": 1,
                                                "type": "number"
                                              },
                                              "type": {
                                                "description": "The data type of the input",
                                                "enum": [
                                                  "boolean",
                                                  "file",
                                                  "file_array",
                                                  "inputs_array",
                                                  "model",
                                                  "model_array",
                                                  "number",
                                                  "number_array",
                                                  "string",
                                                  "string_array"
                                                ],
                                                "type": "string"
                                              },
                                              "value": {
                                                "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                              }
                                            },
                                            "required": [
                                              "name",
                                              "type"
                                            ],
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "iterationIndex": {
                                          "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                          "type": "number"
                                        },
                                        "jobId": {
                                          "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                          "type": "string"
                                        },
                                        "logic": {
                                          "additionalProperties": false,
                                          "description": "The logic of the node.\nOnly available for logic nodes.",
                                          "properties": {
                                            "cases": {
                                              "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                              "items": {
                                                "additionalProperties": false,
                                                "properties": {
                                                  "condition": {
                                                    "type": "string"
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "required": [
                                                  "condition",
                                                  "value"
                                                ],
                                                "type": "object"
                                              },
                                              "type": "array"
                                            },
                                            "default": {
                                              "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                              "type": "string"
                                            },
                                            "transform": {
                                              "description": "The transform of the logic.\nOnly available for transform nodes.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "logicType": {
                                          "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                          "enum": [
                                            "if-else"
                                          ],
                                          "type": "string"
                                        },
                                        "loopBodyNodeIds": {
                                          "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "loopNodeId": {
                                          "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                          "type": "string"
                                        },
                                        "modelId": {
                                          "description": "The model id for the node. Mainly used for custom model tasks.",
                                          "type": "string"
                                        },
                                        "output": {
                                          "description": "The output of the node.\nOnly available for logic nodes."
                                        },
                                        "status": {
                                          "description": "The status of the node. Only available for WorkflowJob nodes.",
                                          "enum": [
                                            "failure",
                                            "pending",
                                            "processing",
                                            "rejected",
                                            "skipped",
                                            "success"
                                          ],
                                          "type": "string"
                                        },
                                        "type": {
                                          "description": "The type of the job for the node.",
                                          "enum": [
                                            "custom-model",
                                            "for-each",
                                            "generate-prompt",
                                            "list",
                                            "logic",
                                            "model",
                                            "remove-background",
                                            "transform",
                                            "user-approval",
                                            "user-selection",
                                            "workflow"
                                          ],
                                          "type": "string"
                                        },
                                        "workflowId": {
                                          "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "id",
                                        "status",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "hint": {
                                    "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                                    "type": "string"
                                  },
                                  "input": {
                                    "additionalProperties": true,
                                    "description": "The inputs for the job",
                                    "properties": {},
                                    "type": "object"
                                  },
                                  "output": {
                                    "additionalProperties": true,
                                    "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                                    "properties": {},
                                    "type": "object"
                                  },
                                  "outputModelId": {
                                    "description": "For voice-clone jobs: the ID of the model being trained.",
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow ID of the job if job is part of a workflow.",
                                    "type": "string"
                                  },
                                  "workflowJobId": {
                                    "description": "The workflow job ID of the job if job is part of a workflow job.",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "ownerId": {
                                "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                                "type": "string"
                              },
                              "progress": {
                                "description": "Progress of the job (between 0 and 1)",
                                "type": "number"
                              },
                              "status": {
                                "description": "The current status of the job",
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              },
                              "statusHistory": {
                                "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "date": {
                                      "type": "string"
                                    },
                                    "status": {
                                      "enum": [
                                        "canceled",
                                        "failure",
                                        "finalizing",
                                        "in-progress",
                                        "pending",
                                        "queued",
                                        "success",
                                        "warming-up"
                                      ],
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "date",
                                    "status"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "taskId": {
                                "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                                "type": "string"
                              },
                              "updatedAt": {
                                "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "createdAt",
                              "jobId",
                              "jobType",
                              "metadata",
                              "progress",
                              "status",
                              "statusHistory",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "modelId": {
                            "description": "Model id of the model used to generate the asset",
                            "type": "string"
                          }
                        },
                        "required": [
                          "asset",
                          "modelId"
                        ],
                        "type": "object"
                      }
                    }
                  },
                  "required": [
                    "examples"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/models/{modelId}/presets": {
      "get": {
        "operationId": "GetModelPresetsByModelId",
        "description": "List all presets for the given `modelId`",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The presets' `modelId`",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "presets": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "authorId": {
                            "description": "The author user ID (example: \"VFhihHKMRZyDDnZAJwLb2Q\")",
                            "type": "string"
                          },
                          "createdAt": {
                            "description": "The preset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "id": {
                            "description": "The preset ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                            "type": "string"
                          },
                          "isDefault": {
                            "description": "Whether the preset is the default preset of the model (example: true)",
                            "type": "boolean"
                          },
                          "modelId": {
                            "description": "The model ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                            "type": "string"
                          },
                          "ownerId": {
                            "description": "The owner ID (example: \"VFhihHKMRZyDDnZAJwLb2Q\")",
                            "type": "string"
                          },
                          "parameters": {
                            "additionalProperties": false,
                            "description": "The inference parameters",
                            "properties": {
                              "aspectRatio": {
                                "default": "1:1",
                                "description": "The aspect ratio of the generated images. Only used for the model flux.1.1-pro-ultra.\nThe aspect ratio is a string formatted as \"width:height\" (example: \"16:9\").",
                                "enum": [
                                  "16:9",
                                  "1:1",
                                  "21:9",
                                  "2:3",
                                  "3:2",
                                  "3:4",
                                  "4:3",
                                  "4:5",
                                  "5:4",
                                  "9:16",
                                  "9:21"
                                ],
                                "type": "string"
                              },
                              "baseModelId": {
                                "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                                "type": "string"
                              },
                              "concepts": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "modelEpoch": {
                                      "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                      "type": "string"
                                    },
                                    "modelId": {
                                      "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                      "type": "string"
                                    },
                                    "scale": {
                                      "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                      "maximum": 2,
                                      "minimum": -2,
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "modelId",
                                    "scale"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "controlEnd": {
                                "default": 0.5,
                                "description": "Specifies how long the ControlNet guidance should be applied during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance is active.\nFor example:\n- 1.0: ControlNet guidance is applied during all inference steps\n- 0.5: ControlNet guidance is only applied during the first half of inference steps\n\nDefault values:\n- 0.5 for Canny modality\n- 0.6 for all other modalities",
                                "maximum": 1,
                                "minimum": 0.1,
                                "type": "number"
                              },
                              "controlImage": {
                                "description": "Signed URL to display the controlnet input image",
                                "type": "string"
                              },
                              "controlImageId": {
                                "description": "Asset id of the controlnet input image",
                                "type": "string"
                              },
                              "controlStart": {
                                "default": 0,
                                "description": "Specifies the starting point of the ControlNet guidance during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance starts.\nFor example:\n- 0.0: ControlNet guidance starts at the beginning of the inference steps\n- 0.5: ControlNet guidance starts at the middle of the inference steps",
                                "maximum": 0.9,
                                "minimum": 0,
                                "type": "number"
                              },
                              "disableMerging": {
                                "default": false,
                                "description": "If set to true, the entire input image will likely change during inpainting. This results in faster inferences, but the output image will be harder to integrate if the input is just a small part of a larger image.",
                                "type": "boolean"
                              },
                              "disableModalityDetection": {
                                "default": true,
                                "description": "If false, the process uses the given image to detect the modality.\nIf true (default), the process will not try to detect the modality of the given image.\n\nFor example:\nwith `pose` modality and `false` value, the process will detect the pose of people in the given image\nwith `depth` modality and `false` value, the process will detect the depth of the given image\nwith `scribble` modality and `true`value, the process will use the given image as a scribble\n\n⚠️ For models of the FLUX schnell or dev families, this parameter is ignored. The modality detection is always disabled. ⚠️",
                                "type": "boolean"
                              },
                              "guidance": {
                                "default": 3.5,
                                "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                                "maximum": 20,
                                "minimum": 0,
                                "type": "number"
                              },
                              "height": {
                                "default": 512,
                                "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                                "maximum": 2048,
                                "minimum": 64,
                                "multipleOf": 8,
                                "type": "number"
                              },
                              "hideResults": {
                                "default": false,
                                "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                                "type": "boolean"
                              },
                              "image": {
                                "description": "Signed URL to display the input image",
                                "type": "string"
                              },
                              "imageId": {
                                "description": "Asset id of the input image",
                                "type": "string"
                              },
                              "intermediateImages": {
                                "default": false,
                                "description": "Enable or disable the intermediate images generation (default: false)",
                                "type": "boolean"
                              },
                              "ipAdapterImage": {
                                "description": "Signed URL to display the IpAdapter image",
                                "type": "string"
                              },
                              "ipAdapterImageId": {
                                "description": "Asset id of the input IpAdapter image",
                                "type": "string"
                              },
                              "ipAdapterImageIds": {
                                "description": "Asset id of the input IpAdapter images",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "ipAdapterImages": {
                                "description": "Signed URL to display the IpAdapter images",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "ipAdapterScale": {
                                "default": 0.9,
                                "description": "IpAdapter scale factor (within [0.0, 1.0], default: 0.9).",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "ipAdapterScales": {
                                "default": 0.9,
                                "description": "IpAdapter scale factors (within [0.0, 1.0], default: 0.9).",
                                "items": {
                                  "type": "number"
                                },
                                "maximum": 1,
                                "minimum": 0,
                                "type": "array"
                              },
                              "ipAdapterType": {
                                "default": "style",
                                "description": "The type of IP Adapter model to use. Must be one of [`style`, `character`], default to `style``",
                                "enum": [
                                  "character",
                                  "style"
                                ],
                                "type": "string"
                              },
                              "mask": {
                                "description": "Signed URL to display the mask image",
                                "type": "string"
                              },
                              "maskId": {
                                "description": "Asset id of the mask image",
                                "type": "string"
                              },
                              "modality": {
                                "description": "The modality associated with the control image used for the generation: it can either be an object with a combination of maximum\n\nFor models of the FLUX schnell or dev families:\n- one modality from: `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality`\n\nOptionally, you can associate a value to these modalities or presets. The value must be within `]0.0, 1.0]`.\n\nExamples:\n- `canny`\n- `depth:0.5,pose:1.0`\n- `canny:0.5,depth:0.5,lines:0.3`\n- `landscape`\n- `character:0.5`\n- `illusion:1`\n\nNote: if you use a value that is not supported by the model family, this will result in an error.",
                                "type": "string"
                              },
                              "modelEpoch": {
                                "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                                "type": "string"
                              },
                              "negativePrompt": {
                                "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                                "type": "string"
                              },
                              "negativePromptStrength": {
                                "default": 0,
                                "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                                "maximum": 10,
                                "minimum": 0,
                                "type": "number"
                              },
                              "numInferenceSteps": {
                                "default": 30,
                                "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                                "maximum": 150,
                                "minimum": 1,
                                "type": "number"
                              },
                              "numSamples": {
                                "default": 4,
                                "description": "The number of images to generate (within [1, 128], default: 4)",
                                "maximum": 128,
                                "minimum": 1,
                                "type": "number"
                              },
                              "prompt": {
                                "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                                "type": "string"
                              },
                              "referenceAdain": {
                                "default": false,
                                "description": "Whether to use reference adain\nOnly for \"reference\" inference type",
                                "type": "boolean"
                              },
                              "referenceAttn": {
                                "default": false,
                                "description": "Whether to use reference query for self attention's context\nOnly for \"reference\" inference type",
                                "type": "boolean"
                              },
                              "scheduler": {
                                "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                                "enum": [
                                  "DDIMScheduler",
                                  "DDPMScheduler",
                                  "DEISMultistepScheduler",
                                  "DPMSolverMultistepScheduler",
                                  "DPMSolverSinglestepScheduler",
                                  "EulerAncestralDiscreteScheduler",
                                  "EulerDiscreteScheduler",
                                  "HeunDiscreteScheduler",
                                  "KDPM2AncestralDiscreteScheduler",
                                  "KDPM2DiscreteScheduler",
                                  "LCMScheduler",
                                  "LMSDiscreteScheduler",
                                  "PNDMScheduler",
                                  "TCDScheduler",
                                  "UniPCMultistepScheduler"
                                ],
                                "type": "string"
                              },
                              "seed": {
                                "description": "Used to reproduce previous results. Default: randomly generated number.",
                                "maximum": 2147483647,
                                "minimum": 0,
                                "type": "string"
                              },
                              "strength": {
                                "default": 0.75,
                                "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                                "maximum": 1,
                                "minimum": 0.01,
                                "type": "number"
                              },
                              "styleFidelity": {
                                "default": 0.5,
                                "description": "If style_fidelity=1.0, control more important, else if style_fidelity=0.0, prompt more important, else balanced\nOnly for \"reference\" inference type",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "type": {
                                "description": "The type of inference to use. Example: txt2img, img2img, etc.\n\nSelecting the right type will condition the expected parameters.\n\nNote: for inpainting with models that support multiple base models, Scenario determines the best available `baseModel` for a given `modelId`.",
                                "enum": [
                                  "controlnet",
                                  "controlnet_img2img",
                                  "controlnet_inpaint",
                                  "controlnet_inpaint_ip_adapter",
                                  "controlnet_ip_adapter",
                                  "controlnet_reference",
                                  "controlnet_texture",
                                  "img2img",
                                  "img2img_ip_adapter",
                                  "img2img_texture",
                                  "inpaint",
                                  "inpaint_ip_adapter",
                                  "outpaint",
                                  "reference",
                                  "reference_texture",
                                  "txt2img",
                                  "txt2img_ip_adapter",
                                  "txt2img_texture"
                                ],
                                "type": "string"
                              },
                              "width": {
                                "default": 512,
                                "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                                "maximum": 2048,
                                "minimum": 64,
                                "multipleOf": 8,
                                "type": "number"
                              }
                            },
                            "required": [
                              "prompt",
                              "type"
                            ],
                            "type": "object"
                          },
                          "updatedAt": {
                            "description": "The preset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          }
                        },
                        "required": [
                          "authorId",
                          "createdAt",
                          "id",
                          "isDefault",
                          "modelId",
                          "ownerId",
                          "parameters",
                          "updatedAt"
                        ],
                        "type": "object"
                      }
                    }
                  },
                  "required": [
                    "presets"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "post": {
        "operationId": "PostModelPresetByModelId",
        "description": "Create a new preset for the given `modelId`",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The preset's `modelId`",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "preset": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "createdAt": {
                          "description": "The preset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "id": {
                          "description": "The preset ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "isDefault": {
                          "description": "Whether the preset is the default preset of the model (example: true)",
                          "type": "boolean"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "parameters": {
                          "additionalProperties": false,
                          "description": "The inference parameters",
                          "properties": {
                            "aspectRatio": {
                              "default": "1:1",
                              "description": "The aspect ratio of the generated images. Only used for the model flux.1.1-pro-ultra.\nThe aspect ratio is a string formatted as \"width:height\" (example: \"16:9\").",
                              "enum": [
                                "16:9",
                                "1:1",
                                "21:9",
                                "2:3",
                                "3:2",
                                "3:4",
                                "4:3",
                                "4:5",
                                "5:4",
                                "9:16",
                                "9:21"
                              ],
                              "type": "string"
                            },
                            "baseModelId": {
                              "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                              "type": "string"
                            },
                            "concepts": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "modelEpoch": {
                                    "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                    "type": "string"
                                  },
                                  "scale": {
                                    "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                    "maximum": 2,
                                    "minimum": -2,
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "modelId",
                                  "scale"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "controlEnd": {
                              "default": 0.5,
                              "description": "Specifies how long the ControlNet guidance should be applied during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance is active.\nFor example:\n- 1.0: ControlNet guidance is applied during all inference steps\n- 0.5: ControlNet guidance is only applied during the first half of inference steps\n\nDefault values:\n- 0.5 for Canny modality\n- 0.6 for all other modalities",
                              "maximum": 1,
                              "minimum": 0.1,
                              "type": "number"
                            },
                            "controlImage": {
                              "description": "Signed URL to display the controlnet input image",
                              "type": "string"
                            },
                            "controlImageId": {
                              "description": "Asset id of the controlnet input image",
                              "type": "string"
                            },
                            "controlStart": {
                              "default": 0,
                              "description": "Specifies the starting point of the ControlNet guidance during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance starts.\nFor example:\n- 0.0: ControlNet guidance starts at the beginning of the inference steps\n- 0.5: ControlNet guidance starts at the middle of the inference steps",
                              "maximum": 0.9,
                              "minimum": 0,
                              "type": "number"
                            },
                            "disableMerging": {
                              "default": false,
                              "description": "If set to true, the entire input image will likely change during inpainting. This results in faster inferences, but the output image will be harder to integrate if the input is just a small part of a larger image.",
                              "type": "boolean"
                            },
                            "disableModalityDetection": {
                              "default": true,
                              "description": "If false, the process uses the given image to detect the modality.\nIf true (default), the process will not try to detect the modality of the given image.\n\nFor example:\nwith `pose` modality and `false` value, the process will detect the pose of people in the given image\nwith `depth` modality and `false` value, the process will detect the depth of the given image\nwith `scribble` modality and `true`value, the process will use the given image as a scribble\n\n⚠️ For models of the FLUX schnell or dev families, this parameter is ignored. The modality detection is always disabled. ⚠️",
                              "type": "boolean"
                            },
                            "guidance": {
                              "default": 3.5,
                              "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                              "maximum": 20,
                              "minimum": 0,
                              "type": "number"
                            },
                            "height": {
                              "default": 512,
                              "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                              "maximum": 2048,
                              "minimum": 64,
                              "multipleOf": 8,
                              "type": "number"
                            },
                            "hideResults": {
                              "default": false,
                              "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                              "type": "boolean"
                            },
                            "image": {
                              "description": "Signed URL to display the input image",
                              "type": "string"
                            },
                            "imageId": {
                              "description": "Asset id of the input image",
                              "type": "string"
                            },
                            "intermediateImages": {
                              "default": false,
                              "description": "Enable or disable the intermediate images generation (default: false)",
                              "type": "boolean"
                            },
                            "ipAdapterImage": {
                              "description": "Signed URL to display the IpAdapter image",
                              "type": "string"
                            },
                            "ipAdapterImageId": {
                              "description": "Asset id of the input IpAdapter image",
                              "type": "string"
                            },
                            "ipAdapterImageIds": {
                              "description": "Asset id of the input IpAdapter images",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "ipAdapterImages": {
                              "description": "Signed URL to display the IpAdapter images",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "ipAdapterScale": {
                              "default": 0.9,
                              "description": "IpAdapter scale factor (within [0.0, 1.0], default: 0.9).",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "ipAdapterScales": {
                              "default": 0.9,
                              "description": "IpAdapter scale factors (within [0.0, 1.0], default: 0.9).",
                              "items": {
                                "type": "number"
                              },
                              "maximum": 1,
                              "minimum": 0,
                              "type": "array"
                            },
                            "ipAdapterType": {
                              "default": "style",
                              "description": "The type of IP Adapter model to use. Must be one of [`style`, `character`], default to `style``",
                              "enum": [
                                "character",
                                "style"
                              ],
                              "type": "string"
                            },
                            "mask": {
                              "description": "Signed URL to display the mask image",
                              "type": "string"
                            },
                            "maskId": {
                              "description": "Asset id of the mask image",
                              "type": "string"
                            },
                            "modality": {
                              "description": "The modality associated with the control image used for the generation: it can either be an object with a combination of maximum\n\nFor models of the FLUX schnell or dev families:\n- one modality from: `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality`\n\nOptionally, you can associate a value to these modalities or presets. The value must be within `]0.0, 1.0]`.\n\nExamples:\n- `canny`\n- `depth:0.5,pose:1.0`\n- `canny:0.5,depth:0.5,lines:0.3`\n- `landscape`\n- `character:0.5`\n- `illusion:1`\n\nNote: if you use a value that is not supported by the model family, this will result in an error.",
                              "type": "string"
                            },
                            "modelEpoch": {
                              "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                              "type": "string"
                            },
                            "negativePrompt": {
                              "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                              "type": "string"
                            },
                            "negativePromptStrength": {
                              "default": 0,
                              "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                              "maximum": 10,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numInferenceSteps": {
                              "default": 30,
                              "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                              "maximum": 150,
                              "minimum": 1,
                              "type": "number"
                            },
                            "numSamples": {
                              "default": 4,
                              "description": "The number of images to generate (within [1, 128], default: 4)",
                              "maximum": 128,
                              "minimum": 1,
                              "type": "number"
                            },
                            "prompt": {
                              "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                              "type": "string"
                            },
                            "referenceAdain": {
                              "default": false,
                              "description": "Whether to use reference adain\nOnly for \"reference\" inference type",
                              "type": "boolean"
                            },
                            "referenceAttn": {
                              "default": false,
                              "description": "Whether to use reference query for self attention's context\nOnly for \"reference\" inference type",
                              "type": "boolean"
                            },
                            "scheduler": {
                              "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                              "enum": [
                                "DDIMScheduler",
                                "DDPMScheduler",
                                "DEISMultistepScheduler",
                                "DPMSolverMultistepScheduler",
                                "DPMSolverSinglestepScheduler",
                                "EulerAncestralDiscreteScheduler",
                                "EulerDiscreteScheduler",
                                "HeunDiscreteScheduler",
                                "KDPM2AncestralDiscreteScheduler",
                                "KDPM2DiscreteScheduler",
                                "LCMScheduler",
                                "LMSDiscreteScheduler",
                                "PNDMScheduler",
                                "TCDScheduler",
                                "UniPCMultistepScheduler"
                              ],
                              "type": "string"
                            },
                            "seed": {
                              "description": "Used to reproduce previous results. Default: randomly generated number.",
                              "maximum": 2147483647,
                              "minimum": 0,
                              "type": "string"
                            },
                            "strength": {
                              "default": 0.75,
                              "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                              "maximum": 1,
                              "minimum": 0.01,
                              "type": "number"
                            },
                            "styleFidelity": {
                              "default": 0.5,
                              "description": "If style_fidelity=1.0, control more important, else if style_fidelity=0.0, prompt more important, else balanced\nOnly for \"reference\" inference type",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "type": {
                              "description": "The type of inference to use. Example: txt2img, img2img, etc.\n\nSelecting the right type will condition the expected parameters.\n\nNote: for inpainting with models that support multiple base models, Scenario determines the best available `baseModel` for a given `modelId`.",
                              "enum": [
                                "controlnet",
                                "controlnet_img2img",
                                "controlnet_inpaint",
                                "controlnet_inpaint_ip_adapter",
                                "controlnet_ip_adapter",
                                "controlnet_reference",
                                "controlnet_texture",
                                "img2img",
                                "img2img_ip_adapter",
                                "img2img_texture",
                                "inpaint",
                                "inpaint_ip_adapter",
                                "outpaint",
                                "reference",
                                "reference_texture",
                                "txt2img",
                                "txt2img_ip_adapter",
                                "txt2img_texture"
                              ],
                              "type": "string"
                            },
                            "width": {
                              "default": 512,
                              "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                              "maximum": 2048,
                              "minimum": 64,
                              "multipleOf": 8,
                              "type": "number"
                            }
                          },
                          "required": [
                            "prompt",
                            "type"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The preset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "createdAt",
                        "id",
                        "isDefault",
                        "modelId",
                        "ownerId",
                        "parameters",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "preset"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "inferenceId": {
                    "description": "The inference ID used to generate new images",
                    "type": "string"
                  },
                  "isDefault": {
                    "default": false,
                    "description": "Whether this preset should be the default preset for the model",
                    "type": "boolean"
                  }
                },
                "required": [
                  "inferenceId"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/presets/{presetId}": {
      "put": {
        "operationId": "PutModelPresetByModelIdAndPresetId",
        "description": "Modify the given `presetId`",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The preset's `modelId`",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "presetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "preset": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "createdAt": {
                          "description": "The preset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "id": {
                          "description": "The preset ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "isDefault": {
                          "description": "Whether the preset is the default preset of the model (example: true)",
                          "type": "boolean"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "parameters": {
                          "additionalProperties": false,
                          "description": "The inference parameters",
                          "properties": {
                            "aspectRatio": {
                              "default": "1:1",
                              "description": "The aspect ratio of the generated images. Only used for the model flux.1.1-pro-ultra.\nThe aspect ratio is a string formatted as \"width:height\" (example: \"16:9\").",
                              "enum": [
                                "16:9",
                                "1:1",
                                "21:9",
                                "2:3",
                                "3:2",
                                "3:4",
                                "4:3",
                                "4:5",
                                "5:4",
                                "9:16",
                                "9:21"
                              ],
                              "type": "string"
                            },
                            "baseModelId": {
                              "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                              "type": "string"
                            },
                            "concepts": {
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "modelEpoch": {
                                    "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                    "type": "string"
                                  },
                                  "scale": {
                                    "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                    "maximum": 2,
                                    "minimum": -2,
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "modelId",
                                  "scale"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "controlEnd": {
                              "default": 0.5,
                              "description": "Specifies how long the ControlNet guidance should be applied during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance is active.\nFor example:\n- 1.0: ControlNet guidance is applied during all inference steps\n- 0.5: ControlNet guidance is only applied during the first half of inference steps\n\nDefault values:\n- 0.5 for Canny modality\n- 0.6 for all other modalities",
                              "maximum": 1,
                              "minimum": 0.1,
                              "type": "number"
                            },
                            "controlImage": {
                              "description": "Signed URL to display the controlnet input image",
                              "type": "string"
                            },
                            "controlImageId": {
                              "description": "Asset id of the controlnet input image",
                              "type": "string"
                            },
                            "controlStart": {
                              "default": 0,
                              "description": "Specifies the starting point of the ControlNet guidance during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance starts.\nFor example:\n- 0.0: ControlNet guidance starts at the beginning of the inference steps\n- 0.5: ControlNet guidance starts at the middle of the inference steps",
                              "maximum": 0.9,
                              "minimum": 0,
                              "type": "number"
                            },
                            "disableMerging": {
                              "default": false,
                              "description": "If set to true, the entire input image will likely change during inpainting. This results in faster inferences, but the output image will be harder to integrate if the input is just a small part of a larger image.",
                              "type": "boolean"
                            },
                            "disableModalityDetection": {
                              "default": true,
                              "description": "If false, the process uses the given image to detect the modality.\nIf true (default), the process will not try to detect the modality of the given image.\n\nFor example:\nwith `pose` modality and `false` value, the process will detect the pose of people in the given image\nwith `depth` modality and `false` value, the process will detect the depth of the given image\nwith `scribble` modality and `true`value, the process will use the given image as a scribble\n\n⚠️ For models of the FLUX schnell or dev families, this parameter is ignored. The modality detection is always disabled. ⚠️",
                              "type": "boolean"
                            },
                            "guidance": {
                              "default": 3.5,
                              "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                              "maximum": 20,
                              "minimum": 0,
                              "type": "number"
                            },
                            "height": {
                              "default": 512,
                              "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                              "maximum": 2048,
                              "minimum": 64,
                              "multipleOf": 8,
                              "type": "number"
                            },
                            "hideResults": {
                              "default": false,
                              "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                              "type": "boolean"
                            },
                            "image": {
                              "description": "Signed URL to display the input image",
                              "type": "string"
                            },
                            "imageId": {
                              "description": "Asset id of the input image",
                              "type": "string"
                            },
                            "intermediateImages": {
                              "default": false,
                              "description": "Enable or disable the intermediate images generation (default: false)",
                              "type": "boolean"
                            },
                            "ipAdapterImage": {
                              "description": "Signed URL to display the IpAdapter image",
                              "type": "string"
                            },
                            "ipAdapterImageId": {
                              "description": "Asset id of the input IpAdapter image",
                              "type": "string"
                            },
                            "ipAdapterImageIds": {
                              "description": "Asset id of the input IpAdapter images",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "ipAdapterImages": {
                              "description": "Signed URL to display the IpAdapter images",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "ipAdapterScale": {
                              "default": 0.9,
                              "description": "IpAdapter scale factor (within [0.0, 1.0], default: 0.9).",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "ipAdapterScales": {
                              "default": 0.9,
                              "description": "IpAdapter scale factors (within [0.0, 1.0], default: 0.9).",
                              "items": {
                                "type": "number"
                              },
                              "maximum": 1,
                              "minimum": 0,
                              "type": "array"
                            },
                            "ipAdapterType": {
                              "default": "style",
                              "description": "The type of IP Adapter model to use. Must be one of [`style`, `character`], default to `style``",
                              "enum": [
                                "character",
                                "style"
                              ],
                              "type": "string"
                            },
                            "mask": {
                              "description": "Signed URL to display the mask image",
                              "type": "string"
                            },
                            "maskId": {
                              "description": "Asset id of the mask image",
                              "type": "string"
                            },
                            "modality": {
                              "description": "The modality associated with the control image used for the generation: it can either be an object with a combination of maximum\n\nFor models of the FLUX schnell or dev families:\n- one modality from: `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality`\n\nOptionally, you can associate a value to these modalities or presets. The value must be within `]0.0, 1.0]`.\n\nExamples:\n- `canny`\n- `depth:0.5,pose:1.0`\n- `canny:0.5,depth:0.5,lines:0.3`\n- `landscape`\n- `character:0.5`\n- `illusion:1`\n\nNote: if you use a value that is not supported by the model family, this will result in an error.",
                              "type": "string"
                            },
                            "modelEpoch": {
                              "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                              "type": "string"
                            },
                            "negativePrompt": {
                              "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                              "type": "string"
                            },
                            "negativePromptStrength": {
                              "default": 0,
                              "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                              "maximum": 10,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numInferenceSteps": {
                              "default": 30,
                              "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                              "maximum": 150,
                              "minimum": 1,
                              "type": "number"
                            },
                            "numSamples": {
                              "default": 4,
                              "description": "The number of images to generate (within [1, 128], default: 4)",
                              "maximum": 128,
                              "minimum": 1,
                              "type": "number"
                            },
                            "prompt": {
                              "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                              "type": "string"
                            },
                            "referenceAdain": {
                              "default": false,
                              "description": "Whether to use reference adain\nOnly for \"reference\" inference type",
                              "type": "boolean"
                            },
                            "referenceAttn": {
                              "default": false,
                              "description": "Whether to use reference query for self attention's context\nOnly for \"reference\" inference type",
                              "type": "boolean"
                            },
                            "scheduler": {
                              "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                              "enum": [
                                "DDIMScheduler",
                                "DDPMScheduler",
                                "DEISMultistepScheduler",
                                "DPMSolverMultistepScheduler",
                                "DPMSolverSinglestepScheduler",
                                "EulerAncestralDiscreteScheduler",
                                "EulerDiscreteScheduler",
                                "HeunDiscreteScheduler",
                                "KDPM2AncestralDiscreteScheduler",
                                "KDPM2DiscreteScheduler",
                                "LCMScheduler",
                                "LMSDiscreteScheduler",
                                "PNDMScheduler",
                                "TCDScheduler",
                                "UniPCMultistepScheduler"
                              ],
                              "type": "string"
                            },
                            "seed": {
                              "description": "Used to reproduce previous results. Default: randomly generated number.",
                              "maximum": 2147483647,
                              "minimum": 0,
                              "type": "string"
                            },
                            "strength": {
                              "default": 0.75,
                              "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                              "maximum": 1,
                              "minimum": 0.01,
                              "type": "number"
                            },
                            "styleFidelity": {
                              "default": 0.5,
                              "description": "If style_fidelity=1.0, control more important, else if style_fidelity=0.0, prompt more important, else balanced\nOnly for \"reference\" inference type",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "type": {
                              "description": "The type of inference to use. Example: txt2img, img2img, etc.\n\nSelecting the right type will condition the expected parameters.\n\nNote: for inpainting with models that support multiple base models, Scenario determines the best available `baseModel` for a given `modelId`.",
                              "enum": [
                                "controlnet",
                                "controlnet_img2img",
                                "controlnet_inpaint",
                                "controlnet_inpaint_ip_adapter",
                                "controlnet_ip_adapter",
                                "controlnet_reference",
                                "controlnet_texture",
                                "img2img",
                                "img2img_ip_adapter",
                                "img2img_texture",
                                "inpaint",
                                "inpaint_ip_adapter",
                                "outpaint",
                                "reference",
                                "reference_texture",
                                "txt2img",
                                "txt2img_ip_adapter",
                                "txt2img_texture"
                              ],
                              "type": "string"
                            },
                            "width": {
                              "default": 512,
                              "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                              "maximum": 2048,
                              "minimum": 64,
                              "multipleOf": 8,
                              "type": "number"
                            }
                          },
                          "required": [
                            "prompt",
                            "type"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The preset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "createdAt",
                        "id",
                        "isDefault",
                        "modelId",
                        "ownerId",
                        "parameters",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "preset"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "isDefault": {
                    "description": "Whether this preset should be the default preset for the model",
                    "type": "boolean"
                  }
                },
                "required": [
                  "isDefault"
                ],
                "type": "object"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteModelPresetByModelIdAndPresetId",
        "description": "Delete a preset for the given `modelId`",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The preset's `modelId` to delete",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "presetId",
            "in": "path",
            "required": true,
            "description": "The preset's `presetId` to delete",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/models/{modelId}/description": {
      "put": {
        "operationId": "PutModelsDescriptionByModelId",
        "description": "Update the markdown description of the given `modelId`",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The description's `modelId` to update",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "description": {
                      "additionalProperties": false,
                      "properties": {
                        "assets": {
                          "description": "The list of assets referenced by the Markdown `{asset}` tag in the description.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "authorId": {
                                "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "kind": {
                                "description": "The kind of asset",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "mimeType": {
                                "description": "The mime type of the asset (example: \"image/png\")",
                                "type": "string"
                              },
                              "originalFileUrl": {
                                "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                                "type": "string"
                              },
                              "originalMimeType": {
                                "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                                "enum": [
                                  "application/gzip",
                                  "application/json",
                                  "application/octet-stream",
                                  "application/pdf",
                                  "application/safetensors",
                                  "application/vnd.autodesk.fbx",
                                  "application/x-authorware-bin",
                                  "application/x-zip-compressed",
                                  "application/x.autodesk.fbx",
                                  "application/zip",
                                  "audio/flac",
                                  "audio/m4a",
                                  "audio/mpeg",
                                  "audio/ogg",
                                  "audio/wav",
                                  "image/aces",
                                  "image/avif",
                                  "image/bmp",
                                  "image/gif",
                                  "image/heic",
                                  "image/jpeg",
                                  "image/png",
                                  "image/svg+xml",
                                  "image/tiff",
                                  "image/vnd.radiance",
                                  "image/webp",
                                  "image/x-exr",
                                  "model/glb",
                                  "model/gltf+json",
                                  "model/gltf-binary",
                                  "model/ksplat",
                                  "model/mtl",
                                  "model/obj",
                                  "model/ply",
                                  "model/sog",
                                  "model/splat",
                                  "model/spz",
                                  "model/stl",
                                  "model/vnd.collada+xml",
                                  "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                                  "model/vnd.usdz+zip",
                                  "model/x-3d-vox",
                                  "model/x-blender",
                                  "model/x-fbx",
                                  "model/x-maya-ascii",
                                  "model/x-maya-binary",
                                  "model/x-vsplat",
                                  "model/x3d+xml",
                                  "text/plain",
                                  "video/mp4",
                                  "video/quicktime",
                                  "video/webm"
                                ],
                                "type": "string"
                              },
                              "ownerId": {
                                "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                                "type": "string"
                              },
                              "preview": {
                                "additionalProperties": false,
                                "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                                "properties": {
                                  "assetId": {
                                    "type": "string"
                                  },
                                  "url": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "assetId",
                                  "url"
                                ],
                                "type": "object"
                              },
                              "privacy": {
                                "description": "The privacy of the asset",
                                "enum": [
                                  "private",
                                  "public",
                                  "unlisted"
                                ],
                                "type": "string"
                              },
                              "properties": {
                                "additionalProperties": false,
                                "description": "The properties of the asset, content may depend on the kind of asset returned",
                                "properties": {
                                  "animationFrameCount": {
                                    "description": "Number of animation frames if animations exist",
                                    "type": "number"
                                  },
                                  "bitrate": {
                                    "description": "Bitrate of the media in bits per second",
                                    "type": "number"
                                  },
                                  "boneCount": {
                                    "description": "Number of bones if skeleton exists",
                                    "type": "number"
                                  },
                                  "cameraMode": {
                                    "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                                    "enum": [
                                      "aerial",
                                      "interior",
                                      "turntable"
                                    ],
                                    "type": "string"
                                  },
                                  "cameraTrajectory": {
                                    "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                      "properties": {
                                        "fov": {
                                          "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                          "type": "number"
                                        },
                                        "position": {
                                          "description": "Camera eye position in the splat's world frame.",
                                          "items": {
                                            "type": "number"
                                          },
                                          "maxItems": 3,
                                          "minItems": 3,
                                          "type": "array"
                                        },
                                        "target": {
                                          "description": "Look-at point in the splat's world frame.",
                                          "items": {
                                            "type": "number"
                                          },
                                          "maxItems": 3,
                                          "minItems": 3,
                                          "type": "array"
                                        }
                                      },
                                      "required": [
                                        "position",
                                        "target"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "channels": {
                                    "description": "Number of channels of the audio",
                                    "type": "number"
                                  },
                                  "charCount": {
                                    "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                                    "type": "number"
                                  },
                                  "classification": {
                                    "description": "Classification of the audio",
                                    "enum": [
                                      "effect",
                                      "interview",
                                      "music",
                                      "other",
                                      "sound",
                                      "speech",
                                      "text",
                                      "unknown"
                                    ],
                                    "type": "string"
                                  },
                                  "codecName": {
                                    "description": "Codec name of the media",
                                    "type": "string"
                                  },
                                  "description": {
                                    "description": "Description of the audio",
                                    "type": "string"
                                  },
                                  "dimensions": {
                                    "description": "Bounding box dimensions [width, height, depth]",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "duration": {
                                    "description": "Duration of the media in seconds",
                                    "type": "number"
                                  },
                                  "faceCount": {
                                    "description": "Number of faces/triangles in the mesh",
                                    "type": "number"
                                  },
                                  "format": {
                                    "description": "Format of the mesh file (e.g. 'glb', etc.)",
                                    "type": "string"
                                  },
                                  "frameRate": {
                                    "description": "Frame rate of the video in frames per second",
                                    "type": "number"
                                  },
                                  "hasAnimations": {
                                    "description": "Whether the mesh has animations",
                                    "type": "boolean"
                                  },
                                  "hasFullPreview": {
                                    "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                                    "type": "boolean"
                                  },
                                  "hasNormals": {
                                    "description": "Whether the mesh has normal vectors",
                                    "type": "boolean"
                                  },
                                  "hasSkeleton": {
                                    "description": "Whether the mesh has bones/skeleton",
                                    "type": "boolean"
                                  },
                                  "hasUVs": {
                                    "description": "Whether the mesh has UV coordinates",
                                    "type": "boolean"
                                  },
                                  "height": {
                                    "type": "number"
                                  },
                                  "nbFrames": {
                                    "description": "Number of frames in the video",
                                    "type": "number"
                                  },
                                  "preview": {
                                    "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                                    "type": "string"
                                  },
                                  "sampleRate": {
                                    "description": "Sample rate of the media in Hz",
                                    "type": "number"
                                  },
                                  "size": {
                                    "type": "number"
                                  },
                                  "transcription": {
                                    "additionalProperties": false,
                                    "description": "Transcription of the audio",
                                    "properties": {
                                      "text": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "text"
                                    ],
                                    "type": "object"
                                  },
                                  "vertexCount": {
                                    "description": "Number of vertices in the mesh",
                                    "type": "number"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "wordCount": {
                                    "description": "Number of whitespace-separated words in the text",
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "size"
                                ],
                                "type": "object"
                              },
                              "source": {
                                "description": "source of the asset",
                                "enum": [
                                  "3d23d",
                                  "3d23d:texture",
                                  "3d:texture",
                                  "3d:texture:albedo",
                                  "3d:texture:metallic",
                                  "3d:texture:mtl",
                                  "3d:texture:normal",
                                  "3d:texture:roughness",
                                  "audio2audio",
                                  "audio2txt",
                                  "audio2video",
                                  "background-removal",
                                  "canvas",
                                  "canvas-drawing",
                                  "canvas-export",
                                  "detection",
                                  "generative-fill",
                                  "image-prompt-editing",
                                  "img23d",
                                  "img2img",
                                  "img2splat",
                                  "img2txt",
                                  "img2video",
                                  "inference-control-net",
                                  "inference-control-net-img",
                                  "inference-control-net-inpainting",
                                  "inference-control-net-inpainting-ip-adapter",
                                  "inference-control-net-ip-adapter",
                                  "inference-control-net-reference",
                                  "inference-control-net-texture",
                                  "inference-img",
                                  "inference-img-ip-adapter",
                                  "inference-img-texture",
                                  "inference-in-paint",
                                  "inference-in-paint-ip-adapter",
                                  "inference-reference",
                                  "inference-reference-texture",
                                  "inference-txt",
                                  "inference-txt-ip-adapter",
                                  "inference-txt-texture",
                                  "patch",
                                  "pixelization",
                                  "reframe",
                                  "restyle",
                                  "segment",
                                  "segmentation-image",
                                  "segmentation-mask",
                                  "skybox-3d",
                                  "skybox-base-360",
                                  "skybox-hdri",
                                  "texture",
                                  "texture:albedo",
                                  "texture:ao",
                                  "texture:edge",
                                  "texture:height",
                                  "texture:metallic",
                                  "texture:normal",
                                  "texture:smoothness",
                                  "txt23d",
                                  "txt2audio",
                                  "txt2img",
                                  "txt2txt",
                                  "txt2video",
                                  "unknown",
                                  "uploaded",
                                  "uploaded-3d",
                                  "uploaded-audio",
                                  "uploaded-avatar",
                                  "uploaded-text",
                                  "uploaded-video",
                                  "upscale",
                                  "upscale-skybox",
                                  "upscale-texture",
                                  "upscale-video",
                                  "vectorization",
                                  "video23d",
                                  "video2audio",
                                  "video2img",
                                  "video2txt",
                                  "video2video",
                                  "voice-clone"
                                ],
                                "type": "string"
                              },
                              "thumbnail": {
                                "additionalProperties": false,
                                "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                                "properties": {
                                  "assetId": {
                                    "type": "string"
                                  },
                                  "url": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "assetId",
                                  "url"
                                ],
                                "type": "object"
                              },
                              "url": {
                                "description": "Signed URL to get the asset content",
                                "type": "string"
                              }
                            },
                            "required": [
                              "authorId",
                              "id",
                              "kind",
                              "mimeType",
                              "ownerId",
                              "privacy",
                              "properties",
                              "source",
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "models": {
                          "description": "The list of models referenced by the Markdown `{model}` tag in the description.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "authorId": {
                                "description": "The author user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "name": {
                                "description": "The model name (example: \"Cinematic Realism\")",
                                "type": "string"
                              },
                              "ownerId": {
                                "description": "The owner ID (example: \"team_VFhihHKMRZyDDnZAJwLb2Q\")",
                                "type": "string"
                              },
                              "privacy": {
                                "default": "private",
                                "description": "The privacy of the model (default: private)",
                                "enum": [
                                  "private",
                                  "public",
                                  "unlisted"
                                ],
                                "type": "string"
                              },
                              "shortDescription": {
                                "description": "The model short description (example: \"This model generates highly detailed cinematic scenes.\")",
                                "type": "string"
                              },
                              "type": {
                                "description": "The model type (example: \"flux.1-lora\")",
                                "enum": [
                                  "custom",
                                  "elevenlabs-voice",
                                  "flux.1",
                                  "flux.1-composition",
                                  "flux.1-kontext-dev",
                                  "flux.1-kontext-lora",
                                  "flux.1-krea-dev",
                                  "flux.1-krea-lora",
                                  "flux.1-lora",
                                  "flux.1-pro",
                                  "flux.1.1-pro-ultra",
                                  "flux.2-dev-edit-lora",
                                  "flux.2-dev-lora",
                                  "flux.2-klein-4b-edit-lora",
                                  "flux.2-klein-4b-lora",
                                  "flux.2-klein-9b-edit-lora",
                                  "flux.2-klein-9b-lora",
                                  "flux.2-klein-base-4b-edit-lora",
                                  "flux.2-klein-base-4b-lora",
                                  "flux.2-klein-base-9b-edit-lora",
                                  "flux.2-klein-base-9b-lora",
                                  "flux1.1-pro",
                                  "gpt-image-1",
                                  "qwen-image-2512-lora",
                                  "qwen-image-edit-2509-lora",
                                  "qwen-image-edit-2511-lora",
                                  "qwen-image-edit-lora",
                                  "qwen-image-lora",
                                  "zimage-de-turbo-lora",
                                  "zimage-lora",
                                  "zimage-turbo-lora"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "id",
                              "privacy",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "value": {
                          "description": "The markdown description of the model (ex: `# My model`).\nWe allow the `{asset:<assetId>}` and `{model:<modelId>}` tags.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "assets",
                        "models",
                        "value"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "description"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "description": {
                    "description": "The markdown description of the model (ex: `# My model`). Set to `null` to delete the description.",
                    "type": "string"
                  }
                },
                "required": [
                  "description"
                ],
                "type": "object"
              }
            }
          }
        }
      },
      "get": {
        "operationId": "GetModelsDescriptionByModelId",
        "description": "Get the description of the given `modelId`",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The description's `modelId` to retrieve",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "description": {
                      "additionalProperties": false,
                      "properties": {
                        "assets": {
                          "description": "The list of assets referenced by the Markdown `{asset}` tag in the description.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "authorId": {
                                "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "kind": {
                                "description": "The kind of asset",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "mimeType": {
                                "description": "The mime type of the asset (example: \"image/png\")",
                                "type": "string"
                              },
                              "originalFileUrl": {
                                "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                                "type": "string"
                              },
                              "originalMimeType": {
                                "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                                "enum": [
                                  "application/gzip",
                                  "application/json",
                                  "application/octet-stream",
                                  "application/pdf",
                                  "application/safetensors",
                                  "application/vnd.autodesk.fbx",
                                  "application/x-authorware-bin",
                                  "application/x-zip-compressed",
                                  "application/x.autodesk.fbx",
                                  "application/zip",
                                  "audio/flac",
                                  "audio/m4a",
                                  "audio/mpeg",
                                  "audio/ogg",
                                  "audio/wav",
                                  "image/aces",
                                  "image/avif",
                                  "image/bmp",
                                  "image/gif",
                                  "image/heic",
                                  "image/jpeg",
                                  "image/png",
                                  "image/svg+xml",
                                  "image/tiff",
                                  "image/vnd.radiance",
                                  "image/webp",
                                  "image/x-exr",
                                  "model/glb",
                                  "model/gltf+json",
                                  "model/gltf-binary",
                                  "model/ksplat",
                                  "model/mtl",
                                  "model/obj",
                                  "model/ply",
                                  "model/sog",
                                  "model/splat",
                                  "model/spz",
                                  "model/stl",
                                  "model/vnd.collada+xml",
                                  "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                                  "model/vnd.usdz+zip",
                                  "model/x-3d-vox",
                                  "model/x-blender",
                                  "model/x-fbx",
                                  "model/x-maya-ascii",
                                  "model/x-maya-binary",
                                  "model/x-vsplat",
                                  "model/x3d+xml",
                                  "text/plain",
                                  "video/mp4",
                                  "video/quicktime",
                                  "video/webm"
                                ],
                                "type": "string"
                              },
                              "ownerId": {
                                "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                                "type": "string"
                              },
                              "preview": {
                                "additionalProperties": false,
                                "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                                "properties": {
                                  "assetId": {
                                    "type": "string"
                                  },
                                  "url": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "assetId",
                                  "url"
                                ],
                                "type": "object"
                              },
                              "privacy": {
                                "description": "The privacy of the asset",
                                "enum": [
                                  "private",
                                  "public",
                                  "unlisted"
                                ],
                                "type": "string"
                              },
                              "properties": {
                                "additionalProperties": false,
                                "description": "The properties of the asset, content may depend on the kind of asset returned",
                                "properties": {
                                  "animationFrameCount": {
                                    "description": "Number of animation frames if animations exist",
                                    "type": "number"
                                  },
                                  "bitrate": {
                                    "description": "Bitrate of the media in bits per second",
                                    "type": "number"
                                  },
                                  "boneCount": {
                                    "description": "Number of bones if skeleton exists",
                                    "type": "number"
                                  },
                                  "cameraMode": {
                                    "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                                    "enum": [
                                      "aerial",
                                      "interior",
                                      "turntable"
                                    ],
                                    "type": "string"
                                  },
                                  "cameraTrajectory": {
                                    "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                      "properties": {
                                        "fov": {
                                          "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                          "type": "number"
                                        },
                                        "position": {
                                          "description": "Camera eye position in the splat's world frame.",
                                          "items": {
                                            "type": "number"
                                          },
                                          "maxItems": 3,
                                          "minItems": 3,
                                          "type": "array"
                                        },
                                        "target": {
                                          "description": "Look-at point in the splat's world frame.",
                                          "items": {
                                            "type": "number"
                                          },
                                          "maxItems": 3,
                                          "minItems": 3,
                                          "type": "array"
                                        }
                                      },
                                      "required": [
                                        "position",
                                        "target"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "channels": {
                                    "description": "Number of channels of the audio",
                                    "type": "number"
                                  },
                                  "charCount": {
                                    "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                                    "type": "number"
                                  },
                                  "classification": {
                                    "description": "Classification of the audio",
                                    "enum": [
                                      "effect",
                                      "interview",
                                      "music",
                                      "other",
                                      "sound",
                                      "speech",
                                      "text",
                                      "unknown"
                                    ],
                                    "type": "string"
                                  },
                                  "codecName": {
                                    "description": "Codec name of the media",
                                    "type": "string"
                                  },
                                  "description": {
                                    "description": "Description of the audio",
                                    "type": "string"
                                  },
                                  "dimensions": {
                                    "description": "Bounding box dimensions [width, height, depth]",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "duration": {
                                    "description": "Duration of the media in seconds",
                                    "type": "number"
                                  },
                                  "faceCount": {
                                    "description": "Number of faces/triangles in the mesh",
                                    "type": "number"
                                  },
                                  "format": {
                                    "description": "Format of the mesh file (e.g. 'glb', etc.)",
                                    "type": "string"
                                  },
                                  "frameRate": {
                                    "description": "Frame rate of the video in frames per second",
                                    "type": "number"
                                  },
                                  "hasAnimations": {
                                    "description": "Whether the mesh has animations",
                                    "type": "boolean"
                                  },
                                  "hasFullPreview": {
                                    "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                                    "type": "boolean"
                                  },
                                  "hasNormals": {
                                    "description": "Whether the mesh has normal vectors",
                                    "type": "boolean"
                                  },
                                  "hasSkeleton": {
                                    "description": "Whether the mesh has bones/skeleton",
                                    "type": "boolean"
                                  },
                                  "hasUVs": {
                                    "description": "Whether the mesh has UV coordinates",
                                    "type": "boolean"
                                  },
                                  "height": {
                                    "type": "number"
                                  },
                                  "nbFrames": {
                                    "description": "Number of frames in the video",
                                    "type": "number"
                                  },
                                  "preview": {
                                    "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                                    "type": "string"
                                  },
                                  "sampleRate": {
                                    "description": "Sample rate of the media in Hz",
                                    "type": "number"
                                  },
                                  "size": {
                                    "type": "number"
                                  },
                                  "transcription": {
                                    "additionalProperties": false,
                                    "description": "Transcription of the audio",
                                    "properties": {
                                      "text": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "text"
                                    ],
                                    "type": "object"
                                  },
                                  "vertexCount": {
                                    "description": "Number of vertices in the mesh",
                                    "type": "number"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "wordCount": {
                                    "description": "Number of whitespace-separated words in the text",
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "size"
                                ],
                                "type": "object"
                              },
                              "source": {
                                "description": "source of the asset",
                                "enum": [
                                  "3d23d",
                                  "3d23d:texture",
                                  "3d:texture",
                                  "3d:texture:albedo",
                                  "3d:texture:metallic",
                                  "3d:texture:mtl",
                                  "3d:texture:normal",
                                  "3d:texture:roughness",
                                  "audio2audio",
                                  "audio2txt",
                                  "audio2video",
                                  "background-removal",
                                  "canvas",
                                  "canvas-drawing",
                                  "canvas-export",
                                  "detection",
                                  "generative-fill",
                                  "image-prompt-editing",
                                  "img23d",
                                  "img2img",
                                  "img2splat",
                                  "img2txt",
                                  "img2video",
                                  "inference-control-net",
                                  "inference-control-net-img",
                                  "inference-control-net-inpainting",
                                  "inference-control-net-inpainting-ip-adapter",
                                  "inference-control-net-ip-adapter",
                                  "inference-control-net-reference",
                                  "inference-control-net-texture",
                                  "inference-img",
                                  "inference-img-ip-adapter",
                                  "inference-img-texture",
                                  "inference-in-paint",
                                  "inference-in-paint-ip-adapter",
                                  "inference-reference",
                                  "inference-reference-texture",
                                  "inference-txt",
                                  "inference-txt-ip-adapter",
                                  "inference-txt-texture",
                                  "patch",
                                  "pixelization",
                                  "reframe",
                                  "restyle",
                                  "segment",
                                  "segmentation-image",
                                  "segmentation-mask",
                                  "skybox-3d",
                                  "skybox-base-360",
                                  "skybox-hdri",
                                  "texture",
                                  "texture:albedo",
                                  "texture:ao",
                                  "texture:edge",
                                  "texture:height",
                                  "texture:metallic",
                                  "texture:normal",
                                  "texture:smoothness",
                                  "txt23d",
                                  "txt2audio",
                                  "txt2img",
                                  "txt2txt",
                                  "txt2video",
                                  "unknown",
                                  "uploaded",
                                  "uploaded-3d",
                                  "uploaded-audio",
                                  "uploaded-avatar",
                                  "uploaded-text",
                                  "uploaded-video",
                                  "upscale",
                                  "upscale-skybox",
                                  "upscale-texture",
                                  "upscale-video",
                                  "vectorization",
                                  "video23d",
                                  "video2audio",
                                  "video2img",
                                  "video2txt",
                                  "video2video",
                                  "voice-clone"
                                ],
                                "type": "string"
                              },
                              "thumbnail": {
                                "additionalProperties": false,
                                "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                                "properties": {
                                  "assetId": {
                                    "type": "string"
                                  },
                                  "url": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "assetId",
                                  "url"
                                ],
                                "type": "object"
                              },
                              "url": {
                                "description": "Signed URL to get the asset content",
                                "type": "string"
                              }
                            },
                            "required": [
                              "authorId",
                              "id",
                              "kind",
                              "mimeType",
                              "ownerId",
                              "privacy",
                              "properties",
                              "source",
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "models": {
                          "description": "The list of models referenced by the Markdown `{model}` tag in the description.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "authorId": {
                                "description": "The author user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "name": {
                                "description": "The model name (example: \"Cinematic Realism\")",
                                "type": "string"
                              },
                              "ownerId": {
                                "description": "The owner ID (example: \"team_VFhihHKMRZyDDnZAJwLb2Q\")",
                                "type": "string"
                              },
                              "privacy": {
                                "default": "private",
                                "description": "The privacy of the model (default: private)",
                                "enum": [
                                  "private",
                                  "public",
                                  "unlisted"
                                ],
                                "type": "string"
                              },
                              "shortDescription": {
                                "description": "The model short description (example: \"This model generates highly detailed cinematic scenes.\")",
                                "type": "string"
                              },
                              "type": {
                                "description": "The model type (example: \"flux.1-lora\")",
                                "enum": [
                                  "custom",
                                  "elevenlabs-voice",
                                  "flux.1",
                                  "flux.1-composition",
                                  "flux.1-kontext-dev",
                                  "flux.1-kontext-lora",
                                  "flux.1-krea-dev",
                                  "flux.1-krea-lora",
                                  "flux.1-lora",
                                  "flux.1-pro",
                                  "flux.1.1-pro-ultra",
                                  "flux.2-dev-edit-lora",
                                  "flux.2-dev-lora",
                                  "flux.2-klein-4b-edit-lora",
                                  "flux.2-klein-4b-lora",
                                  "flux.2-klein-9b-edit-lora",
                                  "flux.2-klein-9b-lora",
                                  "flux.2-klein-base-4b-edit-lora",
                                  "flux.2-klein-base-4b-lora",
                                  "flux.2-klein-base-9b-edit-lora",
                                  "flux.2-klein-base-9b-lora",
                                  "flux1.1-pro",
                                  "gpt-image-1",
                                  "qwen-image-2512-lora",
                                  "qwen-image-edit-2509-lora",
                                  "qwen-image-edit-2511-lora",
                                  "qwen-image-edit-lora",
                                  "qwen-image-lora",
                                  "zimage-de-turbo-lora",
                                  "zimage-lora",
                                  "zimage-turbo-lora"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "id",
                              "privacy",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "value": {
                          "description": "The markdown description of the model (ex: `# My model`).\nWe allow the `{asset:<assetId>}` and `{model:<modelId>}` tags.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "assets",
                        "models",
                        "value"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "description"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/models/{modelId}/prompt-guide": {
      "put": {
        "operationId": "PutModelsPromptGuideByModelId",
        "description": "Update the markdown prompt guide of the given `modelId`",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The prompt guide's `modelId` to update",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "promptGuide": {
                      "additionalProperties": false,
                      "properties": {
                        "value": {
                          "description": "The markdown prompt guide used as the system prompt for Prompt Spark.\n\nInstructions and baked-in examples both live in this single markdown document.\nNo runtime templating is performed on it.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "value"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "promptGuide"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "promptGuide": {
                    "description": "The markdown prompt guide (ex: `# Instructions\\n...`). Set to `null` to delete the prompt guide.",
                    "type": "string"
                  }
                },
                "required": [
                  "promptGuide"
                ],
                "type": "object"
              }
            }
          }
        }
      },
      "get": {
        "operationId": "GetModelsPromptGuideByModelId",
        "description": "Get the prompt guide of the given `modelId`",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The prompt guide's `modelId` to retrieve",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "promptGuide": {
                      "additionalProperties": false,
                      "properties": {
                        "value": {
                          "description": "The markdown prompt guide used as the system prompt for Prompt Spark.\n\nInstructions and baked-in examples both live in this single markdown document.\nNo runtime templating is performed on it.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "value"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "promptGuide"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/models/{modelId}/download": {
      "post": {
        "operationId": "PostDownloadModel",
        "description": "Request a link to download the given `modelId`",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jobId": {
                      "description": "The job id associated with the download request",
                      "type": "string"
                    }
                  },
                  "required": [
                    "jobId"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "modelEpoch": {
                    "description": "The epoch hash of the model to download\nOnly available for Flux Lora Trained models with epochs\nWill only apply to the main model in the download request\nIf not set, the default (latest or setup at model level) epoch will be used",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/models/get-bulk": {
      "post": {
        "operationId": "PostModelsGetBulk",
        "description": "Get multiple models by their `modelIds`",
        "tags": [
          "Models"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "models": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "accessRestrictions": {
                            "description": "The access restrictions of the model\n0: Free plan\n25: Starter plan\n50: Pro plan\n75: Max plan\n100: Enterprise plan",
                            "enum": [
                              0,
                              100,
                              25,
                              50,
                              75
                            ],
                            "type": "number"
                          },
                          "authorId": {
                            "description": "The author user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                            "type": "string"
                          },
                          "capabilities": {
                            "description": "List of model capabilities (example: [\"txt2img\", \"img2img\", \"txt2img_ip_adapter\", ...])",
                            "items": {
                              "enum": [
                                "3d23d",
                                "audio2audio",
                                "audio2txt",
                                "audio2video",
                                "controlnet",
                                "controlnet_img2img",
                                "controlnet_inpaint",
                                "controlnet_inpaint_ip_adapter",
                                "controlnet_ip_adapter",
                                "controlnet_reference",
                                "controlnet_texture",
                                "img23d",
                                "img2img",
                                "img2img_ip_adapter",
                                "img2img_texture",
                                "img2txt",
                                "img2video",
                                "inpaint",
                                "inpaint_ip_adapter",
                                "outpaint",
                                "reference",
                                "reference_texture",
                                "txt23d",
                                "txt2audio",
                                "txt2img",
                                "txt2img_ip_adapter",
                                "txt2img_texture",
                                "txt2txt",
                                "txt2video",
                                "video23d",
                                "video2audio",
                                "video2img",
                                "video2txt",
                                "video2video"
                              ],
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "class": {
                            "additionalProperties": false,
                            "description": "The class of the model",
                            "properties": {
                              "category": {
                                "description": "The category slug of the class (example: \"art-style\")",
                                "type": "string"
                              },
                              "conceptPrompt": {
                                "description": "The concept prompt of the class (example: \"a sks character design\")",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID of the class. Only available for legacy models.",
                                "type": "string"
                              },
                              "name": {
                                "description": "The class name (example: \"Character Design\")",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "The class prompt (example: \"a character design\")",
                                "type": "string"
                              },
                              "slug": {
                                "description": "The class slug (example: \"art-style-character-design\")",
                                "type": "string"
                              },
                              "status": {
                                "description": "The class status (only published classes are listed, but unpublished classes can still appear in existing models)",
                                "enum": [
                                  "published",
                                  "unpublished"
                                ],
                                "type": "string"
                              },
                              "thumbnails": {
                                "description": "Some example images URLs to showcase the class",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              }
                            },
                            "required": [
                              "category",
                              "conceptPrompt",
                              "modelId",
                              "name",
                              "prompt",
                              "slug",
                              "status",
                              "thumbnails"
                            ],
                            "type": "object"
                          },
                          "collectionIds": {
                            "description": "A list of CollectionId this model belongs to",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "compliantModelIds": {
                            "description": "List of base model IDs compliant with the model (example: [\"flux.1-dev\", \"flux.1-schnell\"])\nThis attribute is mainly used for Flux LoRA models",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "concepts": {
                            "description": "The concepts is required for the type model: composition",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "modelEpoch": {
                                  "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                  "type": "string"
                                },
                                "modelId": {
                                  "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                  "type": "string"
                                },
                                "scale": {
                                  "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                  "maximum": 2,
                                  "minimum": -2,
                                  "type": "number"
                                }
                              },
                              "required": [
                                "modelId",
                                "scale"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "createdAt": {
                            "description": "The model creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "custom": {
                            "description": "Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint",
                            "type": "boolean"
                          },
                          "deletedAt": {
                            "description": "The model deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted models, listed with `status=deleted`.",
                            "type": "string"
                          },
                          "disableRefund": {
                            "description": "When true, credits spent on a generation with this model are not\nautomatically refunded if the generation fails. Absent or false means\nfailed generations are refunded as usual.",
                            "type": "boolean"
                          },
                          "epoch": {
                            "description": "The epoch of the model. Only available for Flux Lora Trained models.\nIf not set, uses the final model epoch (latest)",
                            "type": "string"
                          },
                          "epochs": {
                            "description": "The epochs of the model. Only available for Flux Lora Trained models.",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "assets": {
                                  "description": "The assets of the epoch if sample prompts as been supplied during training",
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "assetId": {
                                        "description": "The AssetId of the image during training (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                        "type": "string"
                                      },
                                      "url": {
                                        "description": "The url of the asset",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "assetId",
                                      "url"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "epoch": {
                                  "description": "The epoch hash to identify the epoch",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "epoch"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "exampleAssetIds": {
                            "description": "List of all example asset IDs setup by the model owner",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "id": {
                            "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                            "type": "string"
                          },
                          "inputs": {
                            "description": "The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}",
                            "items": {
                              "additionalProperties": false,
                              "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                              "properties": {
                                "allowedValues": {
                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                  "items": {},
                                  "type": "array"
                                },
                                "backgroundBehavior": {
                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                  "enum": [
                                    "opaque",
                                    "transparent"
                                  ],
                                  "type": "string"
                                },
                                "color": {
                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                  "type": "boolean"
                                },
                                "costImpact": {
                                  "description": "Whether this input affects the model's cost calculation",
                                  "type": "boolean"
                                },
                                "default": {
                                  "description": "The default value for the input"
                                },
                                "description": {
                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                  "type": "string"
                                },
                                "group": {
                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                  "type": "string"
                                },
                                "hint": {
                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                  "type": "string"
                                },
                                "inputs": {
                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                  "items": {
                                    "additionalProperties": true,
                                    "properties": {},
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "kind": {
                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                  "enum": [
                                    "3d",
                                    "audio",
                                    "document",
                                    "image",
                                    "image-hdr",
                                    "json",
                                    "text",
                                    "video"
                                  ],
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label displayed in the UI for this input",
                                  "type": "string"
                                },
                                "maskFrom": {
                                  "description": "The name of the file input field to use as the mask source",
                                  "type": "string"
                                },
                                "max": {
                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                  "type": "number"
                                },
                                "maxDuration": {
                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                  "type": "number"
                                },
                                "maxLength": {
                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                  "type": "number"
                                },
                                "maxSize": {
                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                  "type": "number"
                                },
                                "min": {
                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                  "type": "number"
                                },
                                "minDuration": {
                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                  "type": "number"
                                },
                                "minLength": {
                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                  "type": "number"
                                },
                                "modelTypes": {
                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                  "items": {
                                    "enum": [
                                      "custom",
                                      "elevenlabs-voice",
                                      "flux.1",
                                      "flux.1-composition",
                                      "flux.1-kontext-dev",
                                      "flux.1-kontext-lora",
                                      "flux.1-krea-dev",
                                      "flux.1-krea-lora",
                                      "flux.1-lora",
                                      "flux.1-pro",
                                      "flux.1.1-pro-ultra",
                                      "flux.2-dev-edit-lora",
                                      "flux.2-dev-lora",
                                      "flux.2-klein-4b-edit-lora",
                                      "flux.2-klein-4b-lora",
                                      "flux.2-klein-9b-edit-lora",
                                      "flux.2-klein-9b-lora",
                                      "flux.2-klein-base-4b-edit-lora",
                                      "flux.2-klein-base-4b-lora",
                                      "flux.2-klein-base-9b-edit-lora",
                                      "flux.2-klein-base-9b-lora",
                                      "flux1.1-pro",
                                      "gpt-image-1",
                                      "qwen-image-2512-lora",
                                      "qwen-image-edit-2509-lora",
                                      "qwen-image-edit-2511-lora",
                                      "qwen-image-edit-lora",
                                      "qwen-image-lora",
                                      "zimage-de-turbo-lora",
                                      "zimage-lora",
                                      "zimage-turbo-lora"
                                    ],
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "name": {
                                  "description": "The name that must be user to call the model through the API",
                                  "type": "string"
                                },
                                "parent": {
                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                  "type": "boolean"
                                },
                                "placeholder": {
                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                  "type": "string"
                                },
                                "prompt": {
                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                  "type": "boolean"
                                },
                                "promptSpark": {
                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                  "type": "boolean"
                                },
                                "required": {
                                  "additionalProperties": false,
                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                  "properties": {
                                    "always": {
                                      "description": "Whether the input is always required",
                                      "type": "boolean"
                                    },
                                    "conditional": {
                                      "additionalProperties": false,
                                      "description": "Makes this input required when other inputs have one of the listed values",
                                      "properties": {
                                        "operator": {
                                          "default": "and",
                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                          "enum": [
                                            "and",
                                            "or"
                                          ],
                                          "type": "string"
                                        },
                                        "values": {
                                          "additionalProperties": false,
                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                          "type": "object"
                                        }
                                      },
                                      "required": [
                                        "values"
                                      ],
                                      "type": "object"
                                    },
                                    "ifDefined": {
                                      "additionalProperties": false,
                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                      "type": "object"
                                    },
                                    "ifNotDefined": {
                                      "additionalProperties": false,
                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                      "type": "object"
                                    }
                                  },
                                  "type": "object"
                                },
                                "step": {
                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                  "minimum": 1,
                                  "type": "number"
                                },
                                "type": {
                                  "description": "The data type of the input",
                                  "enum": [
                                    "boolean",
                                    "file",
                                    "file_array",
                                    "inputs_array",
                                    "model",
                                    "model_array",
                                    "number",
                                    "number_array",
                                    "string",
                                    "string_array"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "name",
                                "type"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "jobId": {
                            "description": "The ID of the job that trained the model, returned to the model owner only\n(example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                            "type": "string"
                          },
                          "modelKeyword": {
                            "description": "The model keyword, this is a legacy parameter, please use conceptPrompt in parameters",
                            "type": "string"
                          },
                          "name": {
                            "description": "The model name (example: \"Cinematic Realism\")",
                            "type": "string"
                          },
                          "negativePromptEmbedding": {
                            "description": "Fine-tune the model's inferences with negative prompt embedding",
                            "type": "string"
                          },
                          "ownerId": {
                            "description": "The owner ID (example: \"team_VFhihHKMRZyDDnZAJwLb2Q\")",
                            "type": "string"
                          },
                          "parameters": {
                            "additionalProperties": false,
                            "description": "The parameters of the model",
                            "properties": {
                              "age": {
                                "description": "Age group of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "batchSize": {
                                "default": 1,
                                "description": "The batch size\nLess steps, and will increase the learning rate\n\nOnly available for Flux LoRA training",
                                "maximum": 4,
                                "minimum": 1,
                                "type": "number"
                              },
                              "classPrompt": {
                                "description": "The prompt to specify images in the same class as provided instance images\n\nDeprecated legacy training parameter.",
                                "type": "string"
                              },
                              "cloneType": {
                                "default": "instant",
                                "description": "Type of voice cloning: \"instant\" (fast) or \"professional\" (higher quality, requires captcha)\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "conceptPrompt": {
                                "description": "The prompt with identifier specifying the instance (or subject) of the class (example: \"a daiton dog\")\n\nDefault value varies depending on the model type. For Flux LoRA, the default is an empty string.",
                                "type": "string"
                              },
                              "gender": {
                                "description": "Gender of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "language": {
                                "default": "en",
                                "description": "Language of the audio samples (ISO 639-1 code)\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "learningRate": {
                                "default": 0.000005,
                                "description": "Initial learning rate (after the potential warmup period)\n\nDefault value varies depending on the model type. For Flux LoRA, the default is 0.0001.",
                                "exclusiveMinimum": true,
                                "minimum": 0,
                                "type": "number"
                              },
                              "learningRateTextEncoder": {
                                "default": 0.00005,
                                "description": "Initial learning rate (after the potential warmup period) for the text encoder\n\nMaximum [Flux LoRA: 0.001]\nDefault [Flux LoRA: 0.00001]\nMinimum [Flux LoRA: 0.000001]",
                                "exclusiveMinimum": true,
                                "maximum": 0.001,
                                "minimum": 0,
                                "type": "number"
                              },
                              "learningRateUnet": {
                                "default": 0.0005,
                                "description": "Initial learning rate (after the potential warmup period) for the UNet\n\nDeprecated legacy training parameter.",
                                "exclusiveMinimum": true,
                                "minimum": 0,
                                "type": "number"
                              },
                              "lrScheduler": {
                                "default": "constant",
                                "description": "The scheduler type to use (default: \"constant\")\n\nDeprecated legacy training parameter.",
                                "enum": [
                                  "constant",
                                  "constant-with-warmup",
                                  "cosine",
                                  "cosine-with-restarts",
                                  "linear",
                                  "polynomial"
                                ],
                                "type": "string"
                              },
                              "maxTrainSteps": {
                                "description": "Maximum number of training steps to execute (default: varies depending on the model type)\n\nDefault value varies depending on the model type:\n- For Flux: number of training images * 100\n\nMaximum value varies depending on the model type:\n- For Flux: [0, 10000]",
                                "maximum": 40000,
                                "minimum": 0,
                                "type": "number"
                              },
                              "nbEpochs": {
                                "default": 10,
                                "description": "The number of epochs to train for\n\nOnly available for Flux LoRA training",
                                "maximum": 30,
                                "minimum": 1,
                                "type": "number"
                              },
                              "nbRepeats": {
                                "default": 20,
                                "description": "The number of times to repeat the training\n\nOnly available for Flux LoRA training",
                                "maximum": 30,
                                "minimum": 1,
                                "type": "number"
                              },
                              "numTextTrainSteps": {
                                "default": 0,
                                "description": "The number of training steps for the text encoder\n\nDeprecated legacy training parameter.",
                                "maximum": 40000,
                                "minimum": 0,
                                "type": "number"
                              },
                              "numUNetTrainSteps": {
                                "default": 0,
                                "description": "The number of training steps for the UNet\n\nDeprecated legacy training parameter.",
                                "maximum": 40000,
                                "minimum": 0,
                                "type": "number"
                              },
                              "optimizeFor": {
                                "description": "Optimize the model training task for a specific type of input images. The available values are:\n- \"likeness\": optimize training for likeness or portrait (targets specific transformer blocks)\n- \"all\": train all transformer blocks\n- \"none\": train no specific transformer blocks\n\nThis parameter controls which double and single transformer blocks are trained\nduring the LoRA training process.\n\nOnly available for Flux LoRA training",
                                "enum": [
                                  "likeness"
                                ],
                                "type": "string"
                              },
                              "priorLossWeight": {
                                "default": 1,
                                "description": "The weight of prior preservation loss\n\nDeprecated legacy training parameter.",
                                "exclusiveMinimum": true,
                                "maximum": 1.7976931348623157,
                                "minimum": 0,
                                "type": "number"
                              },
                              "randomCrop": {
                                "default": false,
                                "description": "Whether to random crop or center crop images before resizing to the working resolution\n\nDeprecated legacy training parameter.",
                                "type": "boolean"
                              },
                              "randomCropRatio": {
                                "default": 0,
                                "description": "Ratio of random crops\n\nDeprecated legacy training parameter.",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "randomCropScale": {
                                "default": 1,
                                "description": "Scale of random crops\n\nDeprecated legacy training parameter.",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "rank": {
                                "default": 16,
                                "description": "The dimension of the LoRA update matrices\n\nOnly available for Flux LoRA and Musubi training\n\nDefault value varies depending on the model type:\n- For Flux: 16\n- For Musubi: 64\n\nEach trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])",
                                "maximum": 128,
                                "minimum": 2,
                                "type": "number"
                              },
                              "removeBackgroundNoise": {
                                "default": false,
                                "description": "Whether to remove background noise from audio samples before cloning.\nWhen enabled, each sample must be at least 5 seconds long.\n\nOnly available for ElevenLabs voice training",
                                "type": "boolean"
                              },
                              "samplePrompts": {
                                "default": [],
                                "description": "The prompts to use for each epoch\nOnly available for Flux LoRA training",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "sampleSourceImages": {
                                "default": [],
                                "description": "The sample prompt images (AssetIds) paired with samplePrompts\nOnly available for Flux LoRA training\nMust be the same length as samplePrompts",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "scaleLr": {
                                "default": false,
                                "description": "Whether to scale the learning rate\n\nNote: Legacy parameter, will be ignored\n\nDeprecated legacy training parameter.",
                                "type": "boolean"
                              },
                              "seed": {
                                "description": "Used to reproduce previous results. Default: randomly generated number.\n\nDeprecated legacy training parameter.",
                                "maximum": 9007199254740991,
                                "minimum": 0,
                                "type": "number"
                              },
                              "textEncoderTrainingRatio": {
                                "default": 0.2,
                                "description": "Whether to train the text encoder or not\n\nExample: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps\n\nNote: Legacy parameter, please use `numTextTrainSteps` and `numUNetTrainSteps`\n\nDeprecated legacy training parameter.",
                                "maximum": 0.99,
                                "minimum": 0,
                                "type": "number"
                              },
                              "validationFrequency": {
                                "default": 0,
                                "description": "Validation frequency. Cannot be greater than maxTrainSteps value\n\nDeprecated legacy training parameter.",
                                "minimum": 0,
                                "type": "number"
                              },
                              "validationPrompt": {
                                "default": "",
                                "description": "Validation prompt\n\nDeprecated legacy training parameter.",
                                "type": "string"
                              },
                              "voiceDescription": {
                                "description": "Description of the voice characteristics\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "wandbKey": {
                                "description": "The Weights And Bias key to use for logging. The maximum length is 40 characters",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "parentModelId": {
                            "description": "The id of the parent model",
                            "type": "string"
                          },
                          "performanceStats": {
                            "additionalProperties": false,
                            "description": "Aggregated performance stats",
                            "properties": {
                              "default": {
                                "description": "Default variant key for quick model comparison",
                                "type": "string"
                              },
                              "variants": {
                                "description": "Performance metrics per variant",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "Performance stats for a model variant",
                                  "properties": {
                                    "arenaScore": {
                                      "additionalProperties": false,
                                      "description": "External quality score from arena.ai leaderboard",
                                      "properties": {
                                        "arenaCategory": {
                                          "description": "Arena category (example: \"text_to_image\", \"image_to_video\")",
                                          "type": "string"
                                        },
                                        "arenaModelName": {
                                          "description": "Model name on arena.ai",
                                          "type": "string"
                                        },
                                        "fetchedAt": {
                                          "description": "When this score was last fetched (ISO date)",
                                          "type": "string"
                                        },
                                        "rank": {
                                          "description": "Rank in the arena category",
                                          "type": "number"
                                        },
                                        "rating": {
                                          "description": "ELO rating",
                                          "type": "number"
                                        },
                                        "ratingLower": {
                                          "description": "ELO rating confidence interval lower bound",
                                          "type": "number"
                                        },
                                        "ratingUpper": {
                                          "description": "ELO rating confidence interval upper bound",
                                          "type": "number"
                                        },
                                        "votes": {
                                          "description": "Number of human votes",
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "arenaCategory",
                                        "arenaModelName",
                                        "fetchedAt",
                                        "rank",
                                        "rating",
                                        "ratingLower",
                                        "ratingUpper",
                                        "votes"
                                      ],
                                      "type": "object"
                                    },
                                    "capability": {
                                      "description": "The generation capability (example: \"txt2img\", \"img2video\", \"txt2audio\")",
                                      "type": "string"
                                    },
                                    "computedAt": {
                                      "description": "When these stats were last computed (ISO date)",
                                      "type": "string"
                                    },
                                    "costPerAssetMaxCU": {
                                      "description": "Maximum cost per output asset (CU)",
                                      "type": "number"
                                    },
                                    "costPerAssetMinCU": {
                                      "description": "Minimum cost per output asset (CU)",
                                      "type": "number"
                                    },
                                    "costPerAssetP50CU": {
                                      "description": "Median cost per output asset (CU)",
                                      "type": "number"
                                    },
                                    "inferenceLatencyP50Sec": {
                                      "description": "Inference latency P50 per output asset (seconds)",
                                      "type": "number"
                                    },
                                    "inferenceLatencyP75Sec": {
                                      "description": "Inference latency P75 per output asset (seconds)",
                                      "type": "number"
                                    },
                                    "resolution": {
                                      "description": "The resolution bucket (example: \"0.5K\", \"1K\", \"2K\", \"4K\")",
                                      "type": "string"
                                    },
                                    "totalLatencyP50Sec": {
                                      "description": "Total latency P50 per output asset, including queue time (seconds)",
                                      "type": "number"
                                    },
                                    "totalLatencyP75Sec": {
                                      "description": "Total latency P75 per output asset, including queue time (seconds)",
                                      "type": "number"
                                    },
                                    "variantKey": {
                                      "description": "Unique variant identifier (example: \"txt2img:1K\", \"img2video:2K\", \"txt2audio\")",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "capability",
                                    "computedAt",
                                    "variantKey"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              }
                            },
                            "required": [
                              "variants"
                            ],
                            "type": "object"
                          },
                          "privacy": {
                            "default": "private",
                            "description": "The privacy of the model (default: private)",
                            "enum": [
                              "private",
                              "public",
                              "unlisted"
                            ],
                            "type": "string"
                          },
                          "promptEmbedding": {
                            "description": "Fine-tune the model's inferences with prompt embedding",
                            "type": "string"
                          },
                          "shortDescription": {
                            "description": "The model short description (example: \"This model generates highly detailed cinematic scenes.\")",
                            "type": "string"
                          },
                          "softDeletionOn": {
                            "description": "The date when the model will be soft deleted (only for Free plan)",
                            "type": "string"
                          },
                          "source": {
                            "description": "The source of the model",
                            "enum": [
                              "civitai",
                              "huggingface",
                              "other",
                              "scenario"
                            ],
                            "type": "string"
                          },
                          "status": {
                            "description": "The model status",
                            "enum": [
                              "copying",
                              "failed",
                              "new",
                              "trained",
                              "training",
                              "training-canceled"
                            ],
                            "type": "string"
                          },
                          "tags": {
                            "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "thumbnail": {
                            "additionalProperties": false,
                            "description": "A thumbnail for your model",
                            "properties": {
                              "assetId": {
                                "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "url": {
                                "description": "The url of the image used as a thumbnail for your model",
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "trainingImagePairs": {
                            "description": "Array of training image pairs",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "instruction": {
                                  "description": "The instruction for the image pair, source to target",
                                  "type": "string"
                                },
                                "sourceId": {
                                  "description": "The source asset ID (must be a training asset)",
                                  "type": "string"
                                },
                                "targetId": {
                                  "description": "The target asset ID (must be a training asset)",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "trainingImages": {
                            "description": "The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "automaticCaptioning": {
                                  "description": "Automatic captioning of the image",
                                  "type": "string"
                                },
                                "createdAt": {
                                  "description": "The training image upload date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                  "type": "string"
                                },
                                "description": {
                                  "description": "Description for the image",
                                  "type": "string"
                                },
                                "downloadUrl": {
                                  "description": "The URL of the image",
                                  "type": "string"
                                },
                                "id": {
                                  "description": "The training image ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                  "type": "string"
                                },
                                "name": {
                                  "description": "The original file name of the image (example: \"my-training-image.jpg\")",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "automaticCaptioning",
                                "createdAt",
                                "description",
                                "downloadUrl",
                                "id",
                                "name"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "trainingImagesNumber": {
                            "description": "The total number of training images",
                            "type": "number"
                          },
                          "trainingProgress": {
                            "additionalProperties": false,
                            "description": "Additional information about the training progress of the model",
                            "properties": {
                              "captchaImageUrl": {
                                "description": "Signed URL of the captcha image to read aloud during PVC voice cloning.\nOnly present when stage === 'pending-captcha'. Overwritten on each retry.",
                                "type": "string"
                              },
                              "position": {
                                "description": "Position of the job in the queue (ie. the number of job in the queue before this one)",
                                "type": "number"
                              },
                              "progress": {
                                "description": "The progress of the job",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "remainingTimeMs": {
                                "description": "The remaining time in milliseconds",
                                "type": "number"
                              },
                              "retryCount": {
                                "description": "Number of consecutive PVC step 2 / step 3 failures on this voice model.\nThe model is marked Failed when this reaches the platform's max retries.",
                                "type": "number"
                              },
                              "retryableError": {
                                "description": "Last recoverable failure message during PVC. Present when the model has\nbounced back to stage === 'ready-for-captcha' after a step 2 or step 3\nfailure (e.g. captcha rejected, time limit exceeded). Surface above the\nretry button so the user understands why they're back here.",
                                "type": "string"
                              },
                              "stage": {
                                "description": "The stage of the request",
                                "enum": [
                                  "pending",
                                  "pending-captcha",
                                  "queued-for-train",
                                  "ready-for-captcha",
                                  "running-train",
                                  "starting-train"
                                ],
                                "type": "string"
                              },
                              "startedAt": {
                                "description": "The timestamp in millisecond marking the start of the process",
                                "type": "number"
                              },
                              "updatedAt": {
                                "description": "Timestamp in milliseconds of the last time the training progress was updated",
                                "type": "number"
                              }
                            },
                            "required": [
                              "stage",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "trainingStats": {
                            "additionalProperties": false,
                            "description": "Additional information about the model's training",
                            "properties": {
                              "endedAt": {
                                "description": "The training end time as an ISO date string",
                                "type": "string"
                              },
                              "queueDuration": {
                                "description": "The training queued duration in seconds",
                                "type": "number"
                              },
                              "startedAt": {
                                "description": "The training start time as an ISO date string",
                                "type": "string"
                              },
                              "trainDuration": {
                                "description": "The training duration in seconds",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "type": {
                            "description": "The model type (example: \"flux.1-lora\")",
                            "enum": [
                              "custom",
                              "elevenlabs-voice",
                              "flux.1",
                              "flux.1-composition",
                              "flux.1-kontext-dev",
                              "flux.1-kontext-lora",
                              "flux.1-krea-dev",
                              "flux.1-krea-lora",
                              "flux.1-lora",
                              "flux.1-pro",
                              "flux.1.1-pro-ultra",
                              "flux.2-dev-edit-lora",
                              "flux.2-dev-lora",
                              "flux.2-klein-4b-edit-lora",
                              "flux.2-klein-4b-lora",
                              "flux.2-klein-9b-edit-lora",
                              "flux.2-klein-9b-lora",
                              "flux.2-klein-base-4b-edit-lora",
                              "flux.2-klein-base-4b-lora",
                              "flux.2-klein-base-9b-edit-lora",
                              "flux.2-klein-base-9b-lora",
                              "flux1.1-pro",
                              "gpt-image-1",
                              "qwen-image-2512-lora",
                              "qwen-image-edit-2509-lora",
                              "qwen-image-edit-2511-lora",
                              "qwen-image-edit-lora",
                              "qwen-image-lora",
                              "zimage-de-turbo-lora",
                              "zimage-lora",
                              "zimage-turbo-lora"
                            ],
                            "type": "string"
                          },
                          "uiConfig": {
                            "additionalProperties": false,
                            "description": "The UI configuration for the model",
                            "properties": {
                              "inputProperties": {
                                "additionalProperties": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "collapsed": {
                                      "type": "boolean"
                                    }
                                  },
                                  "type": "object"
                                },
                                "description": "Configuration for the input properties",
                                "type": "object"
                              },
                              "lorasComponent": {
                                "additionalProperties": false,
                                "description": "Configuration for the loras component",
                                "properties": {
                                  "label": {
                                    "description": "The label of the component",
                                    "type": "string"
                                  },
                                  "modelIdInput": {
                                    "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                    "type": "string"
                                  },
                                  "modelInput": {
                                    "description": "The input name of the model (model_array)",
                                    "type": "string"
                                  },
                                  "scaleInput": {
                                    "description": "The input name of the scale (number_array)",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label",
                                  "modelInput",
                                  "scaleInput"
                                ],
                                "type": "object"
                              },
                              "outputProperties": {
                                "additionalProperties": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "label": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "label"
                                  ],
                                  "type": "object"
                                },
                                "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                                "type": "object"
                              },
                              "presets": {
                                "description": "Configuration for the presets",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "fields": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "presets": {
                                      "additionalProperties": false,
                                      "type": "object"
                                    }
                                  },
                                  "required": [
                                    "fields",
                                    "presets"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "resolutionComponent": {
                                "additionalProperties": false,
                                "description": "Configuration for the resolution component",
                                "properties": {
                                  "heightInput": {
                                    "description": "The input name of the height",
                                    "type": "string"
                                  },
                                  "label": {
                                    "description": "The label of the component",
                                    "type": "string"
                                  },
                                  "presets": {
                                    "description": "The resolution presets",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "height": {
                                          "type": "number"
                                        },
                                        "label": {
                                          "type": "string"
                                        },
                                        "width": {
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "height",
                                        "label",
                                        "width"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "widthInput": {
                                    "description": "The input name of the width",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "heightInput",
                                  "label",
                                  "presets",
                                  "widthInput"
                                ],
                                "type": "object"
                              },
                              "selects": {
                                "additionalProperties": {
                                  "additionalProperties": false,
                                  "type": "object"
                                },
                                "description": "Configuration for the selects",
                                "type": "object"
                              },
                              "triggerGenerate": {
                                "additionalProperties": false,
                                "description": "Configuration for the trigger generate button",
                                "properties": {
                                  "after": {
                                    "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                    "type": "string"
                                  },
                                  "label": {
                                    "type": "string"
                                  },
                                  "position": {
                                    "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                    "enum": [
                                      "bottom",
                                      "top"
                                    ],
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              }
                            },
                            "type": "object"
                          },
                          "updatedAt": {
                            "description": "The model last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "userId": {
                            "description": "(Deprecated) The user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "privacy",
                          "type"
                        ],
                        "type": "object"
                      }
                    }
                  },
                  "required": [
                    "models"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Options for the `POST /models/get-bulk` endpoint\n\nrelates to ModelToJsonOptions",
                "properties": {
                  "allTrainingImages": {
                    "default": false,
                    "description": "If true will return all training images; otherwise returns only the first 3 training images.\n\nIf `trainingImagesPreview` set to true, this parameter is ignored.",
                    "type": "boolean"
                  },
                  "minimal": {
                    "default": false,
                    "description": "If true will return only the base details of the model (id, name, type)\n\nif true, all other parameters are ignored",
                    "type": "boolean"
                  },
                  "modelIds": {
                    "description": "The list of model IDs to include in the response",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "settings": {
                    "default": false,
                    "description": "If true, will return the settings: `promptEmbedding` and `negativePromptEmbedding`.",
                    "type": "boolean"
                  },
                  "thumbnail": {
                    "default": false,
                    "description": "If true will return the thumbnail, when no thumbnail is set, will try to fetch the first training image instead.",
                    "type": "boolean"
                  },
                  "trainingImagesPreview": {
                    "default": false,
                    "description": "If true will return the first 3 training images; otherwise returns the full training images.\n\nIf `allTrainingImages` set to true, this parameter is ignored.",
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/models/public": {
      "get": {
        "operationId": "GetPublicModels",
        "description": "List all public models. @deprecated Use GET /models with Authorization: public-auth-token header instead.",
        "tags": [
          "Models"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "The number of items to return in the response. The default value is 50, maximum value is 500, minimum value is 1",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 500,
              "default": 50
            }
          },
          {
            "name": "collectionIds",
            "in": "query",
            "required": false,
            "description": "List of collection ids, comma separated.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "description": "List of tags, comma separated.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "List all the models of a specific type. Can be any of the following values: flux.1, flux.1-lora, flux.1-kontext-dev, flux.1-krea-dev, flux.1-kontext-lora, flux.1-krea-lora, flux.1-composition, flux.1-pro, flux1.1-pro, flux.1.1-pro-ultra, flux.2-dev-lora, flux.2-dev-edit-lora, flux.2-klein-4b-lora, flux.2-klein-9b-lora, flux.2-klein-base-4b-lora, flux.2-klein-base-9b-lora, flux.2-klein-4b-edit-lora, flux.2-klein-9b-edit-lora, flux.2-klein-base-4b-edit-lora, flux.2-klein-base-9b-edit-lora, gpt-image-1, qwen-image-lora, qwen-image-2512-lora, qwen-image-edit-lora, qwen-image-edit-2509-lora, qwen-image-edit-2511-lora, zimage-lora, zimage-turbo-lora, zimage-de-turbo-lora, custom, elevenlabs-voice",
            "schema": {
              "type": "string",
              "enum": [
                "flux.1",
                "flux.1-lora",
                "flux.1-kontext-dev",
                "flux.1-krea-dev",
                "flux.1-kontext-lora",
                "flux.1-krea-lora",
                "flux.1-composition",
                "flux.1-pro",
                "flux1.1-pro",
                "flux.1.1-pro-ultra",
                "flux.2-dev-lora",
                "flux.2-dev-edit-lora",
                "flux.2-klein-4b-lora",
                "flux.2-klein-9b-lora",
                "flux.2-klein-base-4b-lora",
                "flux.2-klein-base-9b-lora",
                "flux.2-klein-4b-edit-lora",
                "flux.2-klein-9b-edit-lora",
                "flux.2-klein-base-4b-edit-lora",
                "flux.2-klein-base-9b-edit-lora",
                "gpt-image-1",
                "qwen-image-lora",
                "qwen-image-2512-lora",
                "qwen-image-edit-lora",
                "qwen-image-edit-2509-lora",
                "qwen-image-edit-2511-lora",
                "zimage-lora",
                "zimage-turbo-lora",
                "zimage-de-turbo-lora",
                "custom",
                "elevenlabs-voice"
              ]
            }
          },
          {
            "name": "types",
            "in": "query",
            "required": false,
            "description": "List of types, comma separated. Can be any of the following values: flux.1, flux.1-lora, flux.1-kontext-dev, flux.1-krea-dev, flux.1-kontext-lora, flux.1-krea-lora, flux.1-composition, flux.1-pro, flux1.1-pro, flux.1.1-pro-ultra, flux.2-dev-lora, flux.2-dev-edit-lora, flux.2-klein-4b-lora, flux.2-klein-9b-lora, flux.2-klein-base-4b-lora, flux.2-klein-base-9b-lora, flux.2-klein-4b-edit-lora, flux.2-klein-9b-edit-lora, flux.2-klein-base-4b-edit-lora, flux.2-klein-base-9b-edit-lora, gpt-image-1, qwen-image-lora, qwen-image-2512-lora, qwen-image-edit-lora, qwen-image-edit-2509-lora, qwen-image-edit-2511-lora, zimage-lora, zimage-turbo-lora, zimage-de-turbo-lora, custom, elevenlabs-voice",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "required": false,
            "description": "Filter results to only return models created before the specified ISO string date (exclusive). Requires the sortBy parameter to be \"createdAt\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdAfter",
            "in": "query",
            "required": false,
            "description": "Filter results to only return models created after the specified ISO string date (exclusive). Requires the sortBy parameter to be \"createdAt\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updatedBefore",
            "in": "query",
            "required": false,
            "description": "Filter results to only return models updated before the specified ISO string date (exclusive). Requires the sortBy parameter to be \"updatedAt\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updatedAfter",
            "in": "query",
            "required": false,
            "description": "Filter results to only return models updated after the specified ISO string date (exclusive). Requires the sortBy parameter to be \"updatedAt\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "required": false,
            "description": "Sort results by the createdAt or updatedAt",
            "schema": {
              "type": "string",
              "default": "createdAt"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Sort results in ascending (asc) or descending (desc) order",
            "schema": {
              "type": "string",
              "default": "desc"
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "required": false,
            "description": "A token you received in a previous request to query the next page of items",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "models": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "accessRestrictions": {
                            "description": "The access restrictions of the model\n0: Free plan\n25: Starter plan\n50: Pro plan\n75: Max plan\n100: Enterprise plan",
                            "enum": [
                              0,
                              100,
                              25,
                              50,
                              75
                            ],
                            "type": "number"
                          },
                          "authorId": {
                            "description": "The author user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                            "type": "string"
                          },
                          "capabilities": {
                            "description": "List of model capabilities (example: [\"txt2img\", \"img2img\", \"txt2img_ip_adapter\", ...])",
                            "items": {
                              "enum": [
                                "3d23d",
                                "audio2audio",
                                "audio2txt",
                                "audio2video",
                                "controlnet",
                                "controlnet_img2img",
                                "controlnet_inpaint",
                                "controlnet_inpaint_ip_adapter",
                                "controlnet_ip_adapter",
                                "controlnet_reference",
                                "controlnet_texture",
                                "img23d",
                                "img2img",
                                "img2img_ip_adapter",
                                "img2img_texture",
                                "img2txt",
                                "img2video",
                                "inpaint",
                                "inpaint_ip_adapter",
                                "outpaint",
                                "reference",
                                "reference_texture",
                                "txt23d",
                                "txt2audio",
                                "txt2img",
                                "txt2img_ip_adapter",
                                "txt2img_texture",
                                "txt2txt",
                                "txt2video",
                                "video23d",
                                "video2audio",
                                "video2img",
                                "video2txt",
                                "video2video"
                              ],
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "class": {
                            "additionalProperties": false,
                            "description": "The class of the model",
                            "properties": {
                              "category": {
                                "description": "The category slug of the class (example: \"art-style\")",
                                "type": "string"
                              },
                              "conceptPrompt": {
                                "description": "The concept prompt of the class (example: \"a sks character design\")",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID of the class. Only available for legacy models.",
                                "type": "string"
                              },
                              "name": {
                                "description": "The class name (example: \"Character Design\")",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "The class prompt (example: \"a character design\")",
                                "type": "string"
                              },
                              "slug": {
                                "description": "The class slug (example: \"art-style-character-design\")",
                                "type": "string"
                              },
                              "status": {
                                "description": "The class status (only published classes are listed, but unpublished classes can still appear in existing models)",
                                "enum": [
                                  "published",
                                  "unpublished"
                                ],
                                "type": "string"
                              },
                              "thumbnails": {
                                "description": "Some example images URLs to showcase the class",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              }
                            },
                            "required": [
                              "category",
                              "conceptPrompt",
                              "modelId",
                              "name",
                              "prompt",
                              "slug",
                              "status",
                              "thumbnails"
                            ],
                            "type": "object"
                          },
                          "collectionIds": {
                            "description": "A list of CollectionId this model belongs to",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "compliantModelIds": {
                            "description": "List of base model IDs compliant with the model (example: [\"flux.1-dev\", \"flux.1-schnell\"])\nThis attribute is mainly used for Flux LoRA models",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "concepts": {
                            "description": "The concepts is required for the type model: composition",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "modelEpoch": {
                                  "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                  "type": "string"
                                },
                                "modelId": {
                                  "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                  "type": "string"
                                },
                                "scale": {
                                  "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                  "maximum": 2,
                                  "minimum": -2,
                                  "type": "number"
                                }
                              },
                              "required": [
                                "modelId",
                                "scale"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "createdAt": {
                            "description": "The model creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "custom": {
                            "description": "Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint",
                            "type": "boolean"
                          },
                          "deletedAt": {
                            "description": "The model deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted models, listed with `status=deleted`.",
                            "type": "string"
                          },
                          "disableRefund": {
                            "description": "When true, credits spent on a generation with this model are not\nautomatically refunded if the generation fails. Absent or false means\nfailed generations are refunded as usual.",
                            "type": "boolean"
                          },
                          "epoch": {
                            "description": "The epoch of the model. Only available for Flux Lora Trained models.\nIf not set, uses the final model epoch (latest)",
                            "type": "string"
                          },
                          "epochs": {
                            "description": "The epochs of the model. Only available for Flux Lora Trained models.",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "assets": {
                                  "description": "The assets of the epoch if sample prompts as been supplied during training",
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "assetId": {
                                        "description": "The AssetId of the image during training (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                        "type": "string"
                                      },
                                      "url": {
                                        "description": "The url of the asset",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "assetId",
                                      "url"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "epoch": {
                                  "description": "The epoch hash to identify the epoch",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "epoch"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "exampleAssetIds": {
                            "description": "List of all example asset IDs setup by the model owner",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "id": {
                            "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                            "type": "string"
                          },
                          "inputs": {
                            "description": "The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}",
                            "items": {
                              "additionalProperties": false,
                              "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                              "properties": {
                                "allowedValues": {
                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                  "items": {},
                                  "type": "array"
                                },
                                "backgroundBehavior": {
                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                  "enum": [
                                    "opaque",
                                    "transparent"
                                  ],
                                  "type": "string"
                                },
                                "color": {
                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                  "type": "boolean"
                                },
                                "costImpact": {
                                  "description": "Whether this input affects the model's cost calculation",
                                  "type": "boolean"
                                },
                                "default": {
                                  "description": "The default value for the input"
                                },
                                "description": {
                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                  "type": "string"
                                },
                                "group": {
                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                  "type": "string"
                                },
                                "hint": {
                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                  "type": "string"
                                },
                                "inputs": {
                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                  "items": {
                                    "additionalProperties": true,
                                    "properties": {},
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "kind": {
                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                  "enum": [
                                    "3d",
                                    "audio",
                                    "document",
                                    "image",
                                    "image-hdr",
                                    "json",
                                    "text",
                                    "video"
                                  ],
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label displayed in the UI for this input",
                                  "type": "string"
                                },
                                "maskFrom": {
                                  "description": "The name of the file input field to use as the mask source",
                                  "type": "string"
                                },
                                "max": {
                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                  "type": "number"
                                },
                                "maxDuration": {
                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                  "type": "number"
                                },
                                "maxLength": {
                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                  "type": "number"
                                },
                                "maxSize": {
                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                  "type": "number"
                                },
                                "min": {
                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                  "type": "number"
                                },
                                "minDuration": {
                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                  "type": "number"
                                },
                                "minLength": {
                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                  "type": "number"
                                },
                                "modelTypes": {
                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                  "items": {
                                    "enum": [
                                      "custom",
                                      "elevenlabs-voice",
                                      "flux.1",
                                      "flux.1-composition",
                                      "flux.1-kontext-dev",
                                      "flux.1-kontext-lora",
                                      "flux.1-krea-dev",
                                      "flux.1-krea-lora",
                                      "flux.1-lora",
                                      "flux.1-pro",
                                      "flux.1.1-pro-ultra",
                                      "flux.2-dev-edit-lora",
                                      "flux.2-dev-lora",
                                      "flux.2-klein-4b-edit-lora",
                                      "flux.2-klein-4b-lora",
                                      "flux.2-klein-9b-edit-lora",
                                      "flux.2-klein-9b-lora",
                                      "flux.2-klein-base-4b-edit-lora",
                                      "flux.2-klein-base-4b-lora",
                                      "flux.2-klein-base-9b-edit-lora",
                                      "flux.2-klein-base-9b-lora",
                                      "flux1.1-pro",
                                      "gpt-image-1",
                                      "qwen-image-2512-lora",
                                      "qwen-image-edit-2509-lora",
                                      "qwen-image-edit-2511-lora",
                                      "qwen-image-edit-lora",
                                      "qwen-image-lora",
                                      "zimage-de-turbo-lora",
                                      "zimage-lora",
                                      "zimage-turbo-lora"
                                    ],
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "name": {
                                  "description": "The name that must be user to call the model through the API",
                                  "type": "string"
                                },
                                "parent": {
                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                  "type": "boolean"
                                },
                                "placeholder": {
                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                  "type": "string"
                                },
                                "prompt": {
                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                  "type": "boolean"
                                },
                                "promptSpark": {
                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                  "type": "boolean"
                                },
                                "required": {
                                  "additionalProperties": false,
                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                  "properties": {
                                    "always": {
                                      "description": "Whether the input is always required",
                                      "type": "boolean"
                                    },
                                    "conditional": {
                                      "additionalProperties": false,
                                      "description": "Makes this input required when other inputs have one of the listed values",
                                      "properties": {
                                        "operator": {
                                          "default": "and",
                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                          "enum": [
                                            "and",
                                            "or"
                                          ],
                                          "type": "string"
                                        },
                                        "values": {
                                          "additionalProperties": false,
                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                          "type": "object"
                                        }
                                      },
                                      "required": [
                                        "values"
                                      ],
                                      "type": "object"
                                    },
                                    "ifDefined": {
                                      "additionalProperties": false,
                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                      "type": "object"
                                    },
                                    "ifNotDefined": {
                                      "additionalProperties": false,
                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                      "type": "object"
                                    }
                                  },
                                  "type": "object"
                                },
                                "step": {
                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                  "minimum": 1,
                                  "type": "number"
                                },
                                "type": {
                                  "description": "The data type of the input",
                                  "enum": [
                                    "boolean",
                                    "file",
                                    "file_array",
                                    "inputs_array",
                                    "model",
                                    "model_array",
                                    "number",
                                    "number_array",
                                    "string",
                                    "string_array"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "name",
                                "type"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "jobId": {
                            "description": "The ID of the job that trained the model, returned to the model owner only\n(example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                            "type": "string"
                          },
                          "modelKeyword": {
                            "description": "The model keyword, this is a legacy parameter, please use conceptPrompt in parameters",
                            "type": "string"
                          },
                          "name": {
                            "description": "The model name (example: \"Cinematic Realism\")",
                            "type": "string"
                          },
                          "negativePromptEmbedding": {
                            "description": "Fine-tune the model's inferences with negative prompt embedding",
                            "type": "string"
                          },
                          "ownerId": {
                            "description": "The owner ID (example: \"team_VFhihHKMRZyDDnZAJwLb2Q\")",
                            "type": "string"
                          },
                          "parameters": {
                            "additionalProperties": false,
                            "description": "The parameters of the model",
                            "properties": {
                              "age": {
                                "description": "Age group of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "batchSize": {
                                "default": 1,
                                "description": "The batch size\nLess steps, and will increase the learning rate\n\nOnly available for Flux LoRA training",
                                "maximum": 4,
                                "minimum": 1,
                                "type": "number"
                              },
                              "classPrompt": {
                                "description": "The prompt to specify images in the same class as provided instance images\n\nDeprecated legacy training parameter.",
                                "type": "string"
                              },
                              "cloneType": {
                                "default": "instant",
                                "description": "Type of voice cloning: \"instant\" (fast) or \"professional\" (higher quality, requires captcha)\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "conceptPrompt": {
                                "description": "The prompt with identifier specifying the instance (or subject) of the class (example: \"a daiton dog\")\n\nDefault value varies depending on the model type. For Flux LoRA, the default is an empty string.",
                                "type": "string"
                              },
                              "gender": {
                                "description": "Gender of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "language": {
                                "default": "en",
                                "description": "Language of the audio samples (ISO 639-1 code)\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "learningRate": {
                                "default": 0.000005,
                                "description": "Initial learning rate (after the potential warmup period)\n\nDefault value varies depending on the model type. For Flux LoRA, the default is 0.0001.",
                                "exclusiveMinimum": true,
                                "minimum": 0,
                                "type": "number"
                              },
                              "learningRateTextEncoder": {
                                "default": 0.00005,
                                "description": "Initial learning rate (after the potential warmup period) for the text encoder\n\nMaximum [Flux LoRA: 0.001]\nDefault [Flux LoRA: 0.00001]\nMinimum [Flux LoRA: 0.000001]",
                                "exclusiveMinimum": true,
                                "maximum": 0.001,
                                "minimum": 0,
                                "type": "number"
                              },
                              "learningRateUnet": {
                                "default": 0.0005,
                                "description": "Initial learning rate (after the potential warmup period) for the UNet\n\nDeprecated legacy training parameter.",
                                "exclusiveMinimum": true,
                                "minimum": 0,
                                "type": "number"
                              },
                              "lrScheduler": {
                                "default": "constant",
                                "description": "The scheduler type to use (default: \"constant\")\n\nDeprecated legacy training parameter.",
                                "enum": [
                                  "constant",
                                  "constant-with-warmup",
                                  "cosine",
                                  "cosine-with-restarts",
                                  "linear",
                                  "polynomial"
                                ],
                                "type": "string"
                              },
                              "maxTrainSteps": {
                                "description": "Maximum number of training steps to execute (default: varies depending on the model type)\n\nDefault value varies depending on the model type:\n- For Flux: number of training images * 100\n\nMaximum value varies depending on the model type:\n- For Flux: [0, 10000]",
                                "maximum": 40000,
                                "minimum": 0,
                                "type": "number"
                              },
                              "nbEpochs": {
                                "default": 10,
                                "description": "The number of epochs to train for\n\nOnly available for Flux LoRA training",
                                "maximum": 30,
                                "minimum": 1,
                                "type": "number"
                              },
                              "nbRepeats": {
                                "default": 20,
                                "description": "The number of times to repeat the training\n\nOnly available for Flux LoRA training",
                                "maximum": 30,
                                "minimum": 1,
                                "type": "number"
                              },
                              "numTextTrainSteps": {
                                "default": 0,
                                "description": "The number of training steps for the text encoder\n\nDeprecated legacy training parameter.",
                                "maximum": 40000,
                                "minimum": 0,
                                "type": "number"
                              },
                              "numUNetTrainSteps": {
                                "default": 0,
                                "description": "The number of training steps for the UNet\n\nDeprecated legacy training parameter.",
                                "maximum": 40000,
                                "minimum": 0,
                                "type": "number"
                              },
                              "optimizeFor": {
                                "description": "Optimize the model training task for a specific type of input images. The available values are:\n- \"likeness\": optimize training for likeness or portrait (targets specific transformer blocks)\n- \"all\": train all transformer blocks\n- \"none\": train no specific transformer blocks\n\nThis parameter controls which double and single transformer blocks are trained\nduring the LoRA training process.\n\nOnly available for Flux LoRA training",
                                "enum": [
                                  "likeness"
                                ],
                                "type": "string"
                              },
                              "priorLossWeight": {
                                "default": 1,
                                "description": "The weight of prior preservation loss\n\nDeprecated legacy training parameter.",
                                "exclusiveMinimum": true,
                                "maximum": 1.7976931348623157,
                                "minimum": 0,
                                "type": "number"
                              },
                              "randomCrop": {
                                "default": false,
                                "description": "Whether to random crop or center crop images before resizing to the working resolution\n\nDeprecated legacy training parameter.",
                                "type": "boolean"
                              },
                              "randomCropRatio": {
                                "default": 0,
                                "description": "Ratio of random crops\n\nDeprecated legacy training parameter.",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "randomCropScale": {
                                "default": 1,
                                "description": "Scale of random crops\n\nDeprecated legacy training parameter.",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "rank": {
                                "default": 16,
                                "description": "The dimension of the LoRA update matrices\n\nOnly available for Flux LoRA and Musubi training\n\nDefault value varies depending on the model type:\n- For Flux: 16\n- For Musubi: 64\n\nEach trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])",
                                "maximum": 128,
                                "minimum": 2,
                                "type": "number"
                              },
                              "removeBackgroundNoise": {
                                "default": false,
                                "description": "Whether to remove background noise from audio samples before cloning.\nWhen enabled, each sample must be at least 5 seconds long.\n\nOnly available for ElevenLabs voice training",
                                "type": "boolean"
                              },
                              "samplePrompts": {
                                "default": [],
                                "description": "The prompts to use for each epoch\nOnly available for Flux LoRA training",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "sampleSourceImages": {
                                "default": [],
                                "description": "The sample prompt images (AssetIds) paired with samplePrompts\nOnly available for Flux LoRA training\nMust be the same length as samplePrompts",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "scaleLr": {
                                "default": false,
                                "description": "Whether to scale the learning rate\n\nNote: Legacy parameter, will be ignored\n\nDeprecated legacy training parameter.",
                                "type": "boolean"
                              },
                              "seed": {
                                "description": "Used to reproduce previous results. Default: randomly generated number.\n\nDeprecated legacy training parameter.",
                                "maximum": 9007199254740991,
                                "minimum": 0,
                                "type": "number"
                              },
                              "textEncoderTrainingRatio": {
                                "default": 0.2,
                                "description": "Whether to train the text encoder or not\n\nExample: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps\n\nNote: Legacy parameter, please use `numTextTrainSteps` and `numUNetTrainSteps`\n\nDeprecated legacy training parameter.",
                                "maximum": 0.99,
                                "minimum": 0,
                                "type": "number"
                              },
                              "validationFrequency": {
                                "default": 0,
                                "description": "Validation frequency. Cannot be greater than maxTrainSteps value\n\nDeprecated legacy training parameter.",
                                "minimum": 0,
                                "type": "number"
                              },
                              "validationPrompt": {
                                "default": "",
                                "description": "Validation prompt\n\nDeprecated legacy training parameter.",
                                "type": "string"
                              },
                              "voiceDescription": {
                                "description": "Description of the voice characteristics\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "wandbKey": {
                                "description": "The Weights And Bias key to use for logging. The maximum length is 40 characters",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "parentModelId": {
                            "description": "The id of the parent model",
                            "type": "string"
                          },
                          "performanceStats": {
                            "additionalProperties": false,
                            "description": "Aggregated performance stats",
                            "properties": {
                              "default": {
                                "description": "Default variant key for quick model comparison",
                                "type": "string"
                              },
                              "variants": {
                                "description": "Performance metrics per variant",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "Performance stats for a model variant",
                                  "properties": {
                                    "arenaScore": {
                                      "additionalProperties": false,
                                      "description": "External quality score from arena.ai leaderboard",
                                      "properties": {
                                        "arenaCategory": {
                                          "description": "Arena category (example: \"text_to_image\", \"image_to_video\")",
                                          "type": "string"
                                        },
                                        "arenaModelName": {
                                          "description": "Model name on arena.ai",
                                          "type": "string"
                                        },
                                        "fetchedAt": {
                                          "description": "When this score was last fetched (ISO date)",
                                          "type": "string"
                                        },
                                        "rank": {
                                          "description": "Rank in the arena category",
                                          "type": "number"
                                        },
                                        "rating": {
                                          "description": "ELO rating",
                                          "type": "number"
                                        },
                                        "ratingLower": {
                                          "description": "ELO rating confidence interval lower bound",
                                          "type": "number"
                                        },
                                        "ratingUpper": {
                                          "description": "ELO rating confidence interval upper bound",
                                          "type": "number"
                                        },
                                        "votes": {
                                          "description": "Number of human votes",
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "arenaCategory",
                                        "arenaModelName",
                                        "fetchedAt",
                                        "rank",
                                        "rating",
                                        "ratingLower",
                                        "ratingUpper",
                                        "votes"
                                      ],
                                      "type": "object"
                                    },
                                    "capability": {
                                      "description": "The generation capability (example: \"txt2img\", \"img2video\", \"txt2audio\")",
                                      "type": "string"
                                    },
                                    "computedAt": {
                                      "description": "When these stats were last computed (ISO date)",
                                      "type": "string"
                                    },
                                    "costPerAssetMaxCU": {
                                      "description": "Maximum cost per output asset (CU)",
                                      "type": "number"
                                    },
                                    "costPerAssetMinCU": {
                                      "description": "Minimum cost per output asset (CU)",
                                      "type": "number"
                                    },
                                    "costPerAssetP50CU": {
                                      "description": "Median cost per output asset (CU)",
                                      "type": "number"
                                    },
                                    "inferenceLatencyP50Sec": {
                                      "description": "Inference latency P50 per output asset (seconds)",
                                      "type": "number"
                                    },
                                    "inferenceLatencyP75Sec": {
                                      "description": "Inference latency P75 per output asset (seconds)",
                                      "type": "number"
                                    },
                                    "resolution": {
                                      "description": "The resolution bucket (example: \"0.5K\", \"1K\", \"2K\", \"4K\")",
                                      "type": "string"
                                    },
                                    "totalLatencyP50Sec": {
                                      "description": "Total latency P50 per output asset, including queue time (seconds)",
                                      "type": "number"
                                    },
                                    "totalLatencyP75Sec": {
                                      "description": "Total latency P75 per output asset, including queue time (seconds)",
                                      "type": "number"
                                    },
                                    "variantKey": {
                                      "description": "Unique variant identifier (example: \"txt2img:1K\", \"img2video:2K\", \"txt2audio\")",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "capability",
                                    "computedAt",
                                    "variantKey"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              }
                            },
                            "required": [
                              "variants"
                            ],
                            "type": "object"
                          },
                          "privacy": {
                            "default": "private",
                            "description": "The privacy of the model (default: private)",
                            "enum": [
                              "private",
                              "public",
                              "unlisted"
                            ],
                            "type": "string"
                          },
                          "promptEmbedding": {
                            "description": "Fine-tune the model's inferences with prompt embedding",
                            "type": "string"
                          },
                          "shortDescription": {
                            "description": "The model short description (example: \"This model generates highly detailed cinematic scenes.\")",
                            "type": "string"
                          },
                          "softDeletionOn": {
                            "description": "The date when the model will be soft deleted (only for Free plan)",
                            "type": "string"
                          },
                          "source": {
                            "description": "The source of the model",
                            "enum": [
                              "civitai",
                              "huggingface",
                              "other",
                              "scenario"
                            ],
                            "type": "string"
                          },
                          "status": {
                            "description": "The model status",
                            "enum": [
                              "copying",
                              "failed",
                              "new",
                              "trained",
                              "training",
                              "training-canceled"
                            ],
                            "type": "string"
                          },
                          "tags": {
                            "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "thumbnail": {
                            "additionalProperties": false,
                            "description": "A thumbnail for your model",
                            "properties": {
                              "assetId": {
                                "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "url": {
                                "description": "The url of the image used as a thumbnail for your model",
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "trainingImagePairs": {
                            "description": "Array of training image pairs",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "instruction": {
                                  "description": "The instruction for the image pair, source to target",
                                  "type": "string"
                                },
                                "sourceId": {
                                  "description": "The source asset ID (must be a training asset)",
                                  "type": "string"
                                },
                                "targetId": {
                                  "description": "The target asset ID (must be a training asset)",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "trainingImages": {
                            "description": "The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "automaticCaptioning": {
                                  "description": "Automatic captioning of the image",
                                  "type": "string"
                                },
                                "createdAt": {
                                  "description": "The training image upload date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                  "type": "string"
                                },
                                "description": {
                                  "description": "Description for the image",
                                  "type": "string"
                                },
                                "downloadUrl": {
                                  "description": "The URL of the image",
                                  "type": "string"
                                },
                                "id": {
                                  "description": "The training image ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                  "type": "string"
                                },
                                "name": {
                                  "description": "The original file name of the image (example: \"my-training-image.jpg\")",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "automaticCaptioning",
                                "createdAt",
                                "description",
                                "downloadUrl",
                                "id",
                                "name"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "trainingImagesNumber": {
                            "description": "The total number of training images",
                            "type": "number"
                          },
                          "trainingProgress": {
                            "additionalProperties": false,
                            "description": "Additional information about the training progress of the model",
                            "properties": {
                              "captchaImageUrl": {
                                "description": "Signed URL of the captcha image to read aloud during PVC voice cloning.\nOnly present when stage === 'pending-captcha'. Overwritten on each retry.",
                                "type": "string"
                              },
                              "position": {
                                "description": "Position of the job in the queue (ie. the number of job in the queue before this one)",
                                "type": "number"
                              },
                              "progress": {
                                "description": "The progress of the job",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "remainingTimeMs": {
                                "description": "The remaining time in milliseconds",
                                "type": "number"
                              },
                              "retryCount": {
                                "description": "Number of consecutive PVC step 2 / step 3 failures on this voice model.\nThe model is marked Failed when this reaches the platform's max retries.",
                                "type": "number"
                              },
                              "retryableError": {
                                "description": "Last recoverable failure message during PVC. Present when the model has\nbounced back to stage === 'ready-for-captcha' after a step 2 or step 3\nfailure (e.g. captcha rejected, time limit exceeded). Surface above the\nretry button so the user understands why they're back here.",
                                "type": "string"
                              },
                              "stage": {
                                "description": "The stage of the request",
                                "enum": [
                                  "pending",
                                  "pending-captcha",
                                  "queued-for-train",
                                  "ready-for-captcha",
                                  "running-train",
                                  "starting-train"
                                ],
                                "type": "string"
                              },
                              "startedAt": {
                                "description": "The timestamp in millisecond marking the start of the process",
                                "type": "number"
                              },
                              "updatedAt": {
                                "description": "Timestamp in milliseconds of the last time the training progress was updated",
                                "type": "number"
                              }
                            },
                            "required": [
                              "stage",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "trainingStats": {
                            "additionalProperties": false,
                            "description": "Additional information about the model's training",
                            "properties": {
                              "endedAt": {
                                "description": "The training end time as an ISO date string",
                                "type": "string"
                              },
                              "queueDuration": {
                                "description": "The training queued duration in seconds",
                                "type": "number"
                              },
                              "startedAt": {
                                "description": "The training start time as an ISO date string",
                                "type": "string"
                              },
                              "trainDuration": {
                                "description": "The training duration in seconds",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "type": {
                            "description": "The model type (example: \"flux.1-lora\")",
                            "enum": [
                              "custom",
                              "elevenlabs-voice",
                              "flux.1",
                              "flux.1-composition",
                              "flux.1-kontext-dev",
                              "flux.1-kontext-lora",
                              "flux.1-krea-dev",
                              "flux.1-krea-lora",
                              "flux.1-lora",
                              "flux.1-pro",
                              "flux.1.1-pro-ultra",
                              "flux.2-dev-edit-lora",
                              "flux.2-dev-lora",
                              "flux.2-klein-4b-edit-lora",
                              "flux.2-klein-4b-lora",
                              "flux.2-klein-9b-edit-lora",
                              "flux.2-klein-9b-lora",
                              "flux.2-klein-base-4b-edit-lora",
                              "flux.2-klein-base-4b-lora",
                              "flux.2-klein-base-9b-edit-lora",
                              "flux.2-klein-base-9b-lora",
                              "flux1.1-pro",
                              "gpt-image-1",
                              "qwen-image-2512-lora",
                              "qwen-image-edit-2509-lora",
                              "qwen-image-edit-2511-lora",
                              "qwen-image-edit-lora",
                              "qwen-image-lora",
                              "zimage-de-turbo-lora",
                              "zimage-lora",
                              "zimage-turbo-lora"
                            ],
                            "type": "string"
                          },
                          "uiConfig": {
                            "additionalProperties": false,
                            "description": "The UI configuration for the model",
                            "properties": {
                              "inputProperties": {
                                "additionalProperties": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "collapsed": {
                                      "type": "boolean"
                                    }
                                  },
                                  "type": "object"
                                },
                                "description": "Configuration for the input properties",
                                "type": "object"
                              },
                              "lorasComponent": {
                                "additionalProperties": false,
                                "description": "Configuration for the loras component",
                                "properties": {
                                  "label": {
                                    "description": "The label of the component",
                                    "type": "string"
                                  },
                                  "modelIdInput": {
                                    "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                    "type": "string"
                                  },
                                  "modelInput": {
                                    "description": "The input name of the model (model_array)",
                                    "type": "string"
                                  },
                                  "scaleInput": {
                                    "description": "The input name of the scale (number_array)",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label",
                                  "modelInput",
                                  "scaleInput"
                                ],
                                "type": "object"
                              },
                              "outputProperties": {
                                "additionalProperties": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "label": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "label"
                                  ],
                                  "type": "object"
                                },
                                "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                                "type": "object"
                              },
                              "presets": {
                                "description": "Configuration for the presets",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "fields": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "presets": {
                                      "additionalProperties": false,
                                      "type": "object"
                                    }
                                  },
                                  "required": [
                                    "fields",
                                    "presets"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "resolutionComponent": {
                                "additionalProperties": false,
                                "description": "Configuration for the resolution component",
                                "properties": {
                                  "heightInput": {
                                    "description": "The input name of the height",
                                    "type": "string"
                                  },
                                  "label": {
                                    "description": "The label of the component",
                                    "type": "string"
                                  },
                                  "presets": {
                                    "description": "The resolution presets",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "height": {
                                          "type": "number"
                                        },
                                        "label": {
                                          "type": "string"
                                        },
                                        "width": {
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "height",
                                        "label",
                                        "width"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "widthInput": {
                                    "description": "The input name of the width",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "heightInput",
                                  "label",
                                  "presets",
                                  "widthInput"
                                ],
                                "type": "object"
                              },
                              "selects": {
                                "additionalProperties": {
                                  "additionalProperties": false,
                                  "type": "object"
                                },
                                "description": "Configuration for the selects",
                                "type": "object"
                              },
                              "triggerGenerate": {
                                "additionalProperties": false,
                                "description": "Configuration for the trigger generate button",
                                "properties": {
                                  "after": {
                                    "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                    "type": "string"
                                  },
                                  "label": {
                                    "type": "string"
                                  },
                                  "position": {
                                    "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                    "enum": [
                                      "bottom",
                                      "top"
                                    ],
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              }
                            },
                            "type": "object"
                          },
                          "updatedAt": {
                            "description": "The model last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "userId": {
                            "description": "(Deprecated) The user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                            "type": "string"
                          }
                        },
                        "required": [
                          "capabilities",
                          "collectionIds",
                          "createdAt",
                          "custom",
                          "exampleAssetIds",
                          "id",
                          "privacy",
                          "source",
                          "status",
                          "tags",
                          "trainingImagesNumber",
                          "type",
                          "updatedAt"
                        ],
                        "type": "object"
                      }
                    },
                    "nextPaginationToken": {
                      "type": "string",
                      "description": "A token to query the next page of models"
                    }
                  },
                  "required": [
                    "models"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/models/public/{modelId}": {
      "get": {
        "operationId": "GetPublicModelsByModelId",
        "description": "Get the details of the given `modelId`. @deprecated Use GET /models/{modelId} with Authorization: public-auth-token header instead.",
        "tags": [
          "Models"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "description": "The model ID to retrieve",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "model": {
                      "additionalProperties": false,
                      "properties": {
                        "accessRestrictions": {
                          "description": "The access restrictions of the model\n0: Free plan\n25: Starter plan\n50: Pro plan\n75: Max plan\n100: Enterprise plan",
                          "enum": [
                            0,
                            100,
                            25,
                            50,
                            75
                          ],
                          "type": "number"
                        },
                        "authorId": {
                          "description": "The author user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "capabilities": {
                          "description": "List of model capabilities (example: [\"txt2img\", \"img2img\", \"txt2img_ip_adapter\", ...])",
                          "items": {
                            "enum": [
                              "3d23d",
                              "audio2audio",
                              "audio2txt",
                              "audio2video",
                              "controlnet",
                              "controlnet_img2img",
                              "controlnet_inpaint",
                              "controlnet_inpaint_ip_adapter",
                              "controlnet_ip_adapter",
                              "controlnet_reference",
                              "controlnet_texture",
                              "img23d",
                              "img2img",
                              "img2img_ip_adapter",
                              "img2img_texture",
                              "img2txt",
                              "img2video",
                              "inpaint",
                              "inpaint_ip_adapter",
                              "outpaint",
                              "reference",
                              "reference_texture",
                              "txt23d",
                              "txt2audio",
                              "txt2img",
                              "txt2img_ip_adapter",
                              "txt2img_texture",
                              "txt2txt",
                              "txt2video",
                              "video23d",
                              "video2audio",
                              "video2img",
                              "video2txt",
                              "video2video"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "class": {
                          "additionalProperties": false,
                          "description": "The class of the model",
                          "properties": {
                            "category": {
                              "description": "The category slug of the class (example: \"art-style\")",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The concept prompt of the class (example: \"a sks character design\")",
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The model ID of the class. Only available for legacy models.",
                              "type": "string"
                            },
                            "name": {
                              "description": "The class name (example: \"Character Design\")",
                              "type": "string"
                            },
                            "prompt": {
                              "description": "The class prompt (example: \"a character design\")",
                              "type": "string"
                            },
                            "slug": {
                              "description": "The class slug (example: \"art-style-character-design\")",
                              "type": "string"
                            },
                            "status": {
                              "description": "The class status (only published classes are listed, but unpublished classes can still appear in existing models)",
                              "enum": [
                                "published",
                                "unpublished"
                              ],
                              "type": "string"
                            },
                            "thumbnails": {
                              "description": "Some example images URLs to showcase the class",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "category",
                            "conceptPrompt",
                            "modelId",
                            "name",
                            "prompt",
                            "slug",
                            "status",
                            "thumbnails"
                          ],
                          "type": "object"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this model belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "compliantModelIds": {
                          "description": "List of base model IDs compliant with the model (example: [\"flux.1-dev\", \"flux.1-schnell\"])\nThis attribute is mainly used for Flux LoRA models",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "concepts": {
                          "description": "The concepts is required for the type model: composition",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The model creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "custom": {
                          "description": "Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint",
                          "type": "boolean"
                        },
                        "deletedAt": {
                          "description": "The model deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted models, listed with `status=deleted`.",
                          "type": "string"
                        },
                        "disableRefund": {
                          "description": "When true, credits spent on a generation with this model are not\nautomatically refunded if the generation fails. Absent or false means\nfailed generations are refunded as usual.",
                          "type": "boolean"
                        },
                        "epoch": {
                          "description": "The epoch of the model. Only available for Flux Lora Trained models.\nIf not set, uses the final model epoch (latest)",
                          "type": "string"
                        },
                        "epochs": {
                          "description": "The epochs of the model. Only available for Flux Lora Trained models.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "assets": {
                                "description": "The assets of the epoch if sample prompts as been supplied during training",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "assetId": {
                                      "description": "The AssetId of the image during training (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                      "type": "string"
                                    },
                                    "url": {
                                      "description": "The url of the asset",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "assetId",
                                    "url"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "epoch": {
                                "description": "The epoch hash to identify the epoch",
                                "type": "string"
                              }
                            },
                            "required": [
                              "epoch"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "exampleAssetIds": {
                          "description": "List of all example asset IDs setup by the model owner",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "id": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "inputs": {
                          "description": "The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}",
                          "items": {
                            "additionalProperties": false,
                            "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                            "properties": {
                              "allowedValues": {
                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                "items": {},
                                "type": "array"
                              },
                              "backgroundBehavior": {
                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                "enum": [
                                  "opaque",
                                  "transparent"
                                ],
                                "type": "string"
                              },
                              "color": {
                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "costImpact": {
                                "description": "Whether this input affects the model's cost calculation",
                                "type": "boolean"
                              },
                              "default": {
                                "description": "The default value for the input"
                              },
                              "description": {
                                "description": "Help text displayed in the UI to provide additional information about the input",
                                "type": "string"
                              },
                              "group": {
                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                "type": "string"
                              },
                              "hint": {
                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                "type": "string"
                              },
                              "inputs": {
                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                "items": {
                                  "additionalProperties": true,
                                  "properties": {},
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "kind": {
                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "label": {
                                "description": "The label displayed in the UI for this input",
                                "type": "string"
                              },
                              "maskFrom": {
                                "description": "The name of the file input field to use as the mask source",
                                "type": "string"
                              },
                              "max": {
                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                "type": "number"
                              },
                              "maxDuration": {
                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "maxLength": {
                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "maxSize": {
                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                "type": "number"
                              },
                              "min": {
                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                "type": "number"
                              },
                              "minDuration": {
                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "minLength": {
                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "modelTypes": {
                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                "items": {
                                  "enum": [
                                    "custom",
                                    "elevenlabs-voice",
                                    "flux.1",
                                    "flux.1-composition",
                                    "flux.1-kontext-dev",
                                    "flux.1-kontext-lora",
                                    "flux.1-krea-dev",
                                    "flux.1-krea-lora",
                                    "flux.1-lora",
                                    "flux.1-pro",
                                    "flux.1.1-pro-ultra",
                                    "flux.2-dev-edit-lora",
                                    "flux.2-dev-lora",
                                    "flux.2-klein-4b-edit-lora",
                                    "flux.2-klein-4b-lora",
                                    "flux.2-klein-9b-edit-lora",
                                    "flux.2-klein-9b-lora",
                                    "flux.2-klein-base-4b-edit-lora",
                                    "flux.2-klein-base-4b-lora",
                                    "flux.2-klein-base-9b-edit-lora",
                                    "flux.2-klein-base-9b-lora",
                                    "flux1.1-pro",
                                    "gpt-image-1",
                                    "qwen-image-2512-lora",
                                    "qwen-image-edit-2509-lora",
                                    "qwen-image-edit-2511-lora",
                                    "qwen-image-edit-lora",
                                    "qwen-image-lora",
                                    "zimage-de-turbo-lora",
                                    "zimage-lora",
                                    "zimage-turbo-lora"
                                  ],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "name": {
                                "description": "The name that must be user to call the model through the API",
                                "type": "string"
                              },
                              "parent": {
                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                "type": "boolean"
                              },
                              "placeholder": {
                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "promptSpark": {
                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "required": {
                                "additionalProperties": false,
                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                "properties": {
                                  "always": {
                                    "description": "Whether the input is always required",
                                    "type": "boolean"
                                  },
                                  "conditional": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when other inputs have one of the listed values",
                                    "properties": {
                                      "operator": {
                                        "default": "and",
                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                        "enum": [
                                          "and",
                                          "or"
                                        ],
                                        "type": "string"
                                      },
                                      "values": {
                                        "additionalProperties": false,
                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "values"
                                    ],
                                    "type": "object"
                                  },
                                  "ifDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  },
                                  "ifNotDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "step": {
                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                "minimum": 1,
                                "type": "number"
                              },
                              "type": {
                                "description": "The data type of the input",
                                "enum": [
                                  "boolean",
                                  "file",
                                  "file_array",
                                  "inputs_array",
                                  "model",
                                  "model_array",
                                  "number",
                                  "number_array",
                                  "string",
                                  "string_array"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "name",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "jobId": {
                          "description": "The ID of the job that trained the model, returned to the model owner only\n(example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "modelKeyword": {
                          "description": "The model keyword, this is a legacy parameter, please use conceptPrompt in parameters",
                          "type": "string"
                        },
                        "name": {
                          "description": "The model name (example: \"Cinematic Realism\")",
                          "type": "string"
                        },
                        "negativePromptEmbedding": {
                          "description": "Fine-tune the model's inferences with negative prompt embedding",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        },
                        "parameters": {
                          "additionalProperties": false,
                          "description": "The parameters of the model",
                          "properties": {
                            "age": {
                              "description": "Age group of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "batchSize": {
                              "default": 1,
                              "description": "The batch size\nLess steps, and will increase the learning rate\n\nOnly available for Flux LoRA training",
                              "maximum": 4,
                              "minimum": 1,
                              "type": "number"
                            },
                            "classPrompt": {
                              "description": "The prompt to specify images in the same class as provided instance images\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "cloneType": {
                              "default": "instant",
                              "description": "Type of voice cloning: \"instant\" (fast) or \"professional\" (higher quality, requires captcha)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "conceptPrompt": {
                              "description": "The prompt with identifier specifying the instance (or subject) of the class (example: \"a daiton dog\")\n\nDefault value varies depending on the model type. For Flux LoRA, the default is an empty string.",
                              "type": "string"
                            },
                            "gender": {
                              "description": "Gender of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "language": {
                              "default": "en",
                              "description": "Language of the audio samples (ISO 639-1 code)\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "learningRate": {
                              "default": 0.000005,
                              "description": "Initial learning rate (after the potential warmup period)\n\nDefault value varies depending on the model type. For Flux LoRA, the default is 0.0001.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateTextEncoder": {
                              "default": 0.00005,
                              "description": "Initial learning rate (after the potential warmup period) for the text encoder\n\nMaximum [Flux LoRA: 0.001]\nDefault [Flux LoRA: 0.00001]\nMinimum [Flux LoRA: 0.000001]",
                              "exclusiveMinimum": true,
                              "maximum": 0.001,
                              "minimum": 0,
                              "type": "number"
                            },
                            "learningRateUnet": {
                              "default": 0.0005,
                              "description": "Initial learning rate (after the potential warmup period) for the UNet\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "minimum": 0,
                              "type": "number"
                            },
                            "lrScheduler": {
                              "default": "constant",
                              "description": "The scheduler type to use (default: \"constant\")\n\nDeprecated legacy training parameter.",
                              "enum": [
                                "constant",
                                "constant-with-warmup",
                                "cosine",
                                "cosine-with-restarts",
                                "linear",
                                "polynomial"
                              ],
                              "type": "string"
                            },
                            "maxTrainSteps": {
                              "description": "Maximum number of training steps to execute (default: varies depending on the model type)\n\nDefault value varies depending on the model type:\n- For Flux: number of training images * 100\n\nMaximum value varies depending on the model type:\n- For Flux: [0, 10000]",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "nbEpochs": {
                              "default": 10,
                              "description": "The number of epochs to train for\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "nbRepeats": {
                              "default": 20,
                              "description": "The number of times to repeat the training\n\nOnly available for Flux LoRA training",
                              "maximum": 30,
                              "minimum": 1,
                              "type": "number"
                            },
                            "numTextTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the text encoder\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numUNetTrainSteps": {
                              "default": 0,
                              "description": "The number of training steps for the UNet\n\nDeprecated legacy training parameter.",
                              "maximum": 40000,
                              "minimum": 0,
                              "type": "number"
                            },
                            "optimizeFor": {
                              "description": "Optimize the model training task for a specific type of input images. The available values are:\n- \"likeness\": optimize training for likeness or portrait (targets specific transformer blocks)\n- \"all\": train all transformer blocks\n- \"none\": train no specific transformer blocks\n\nThis parameter controls which double and single transformer blocks are trained\nduring the LoRA training process.\n\nOnly available for Flux LoRA training",
                              "enum": [
                                "likeness"
                              ],
                              "type": "string"
                            },
                            "priorLossWeight": {
                              "default": 1,
                              "description": "The weight of prior preservation loss\n\nDeprecated legacy training parameter.",
                              "exclusiveMinimum": true,
                              "maximum": 1.7976931348623157,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCrop": {
                              "default": false,
                              "description": "Whether to random crop or center crop images before resizing to the working resolution\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "randomCropRatio": {
                              "default": 0,
                              "description": "Ratio of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "randomCropScale": {
                              "default": 1,
                              "description": "Scale of random crops\n\nDeprecated legacy training parameter.",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "rank": {
                              "default": 16,
                              "description": "The dimension of the LoRA update matrices\n\nOnly available for Flux LoRA and Musubi training\n\nDefault value varies depending on the model type:\n- For Flux: 16\n- For Musubi: 64\n\nEach trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])",
                              "maximum": 128,
                              "minimum": 2,
                              "type": "number"
                            },
                            "removeBackgroundNoise": {
                              "default": false,
                              "description": "Whether to remove background noise from audio samples before cloning.\nWhen enabled, each sample must be at least 5 seconds long.\n\nOnly available for ElevenLabs voice training",
                              "type": "boolean"
                            },
                            "samplePrompts": {
                              "default": [],
                              "description": "The prompts to use for each epoch\nOnly available for Flux LoRA training",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "sampleSourceImages": {
                              "default": [],
                              "description": "The sample prompt images (AssetIds) paired with samplePrompts\nOnly available for Flux LoRA training\nMust be the same length as samplePrompts",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "scaleLr": {
                              "default": false,
                              "description": "Whether to scale the learning rate\n\nNote: Legacy parameter, will be ignored\n\nDeprecated legacy training parameter.",
                              "type": "boolean"
                            },
                            "seed": {
                              "description": "Used to reproduce previous results. Default: randomly generated number.\n\nDeprecated legacy training parameter.",
                              "maximum": 9007199254740991,
                              "minimum": 0,
                              "type": "number"
                            },
                            "textEncoderTrainingRatio": {
                              "default": 0.2,
                              "description": "Whether to train the text encoder or not\n\nExample: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps\n\nNote: Legacy parameter, please use `numTextTrainSteps` and `numUNetTrainSteps`\n\nDeprecated legacy training parameter.",
                              "maximum": 0.99,
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationFrequency": {
                              "default": 0,
                              "description": "Validation frequency. Cannot be greater than maxTrainSteps value\n\nDeprecated legacy training parameter.",
                              "minimum": 0,
                              "type": "number"
                            },
                            "validationPrompt": {
                              "default": "",
                              "description": "Validation prompt\n\nDeprecated legacy training parameter.",
                              "type": "string"
                            },
                            "voiceDescription": {
                              "description": "Description of the voice characteristics\n\nOnly available for ElevenLabs voice training",
                              "type": "string"
                            },
                            "wandbKey": {
                              "description": "The Weights And Bias key to use for logging. The maximum length is 40 characters",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "parentModelId": {
                          "description": "The id of the parent model",
                          "type": "string"
                        },
                        "performanceStats": {
                          "additionalProperties": false,
                          "description": "Aggregated performance stats",
                          "properties": {
                            "default": {
                              "description": "Default variant key for quick model comparison",
                              "type": "string"
                            },
                            "variants": {
                              "description": "Performance metrics per variant",
                              "items": {
                                "additionalProperties": false,
                                "description": "Performance stats for a model variant",
                                "properties": {
                                  "arenaScore": {
                                    "additionalProperties": false,
                                    "description": "External quality score from arena.ai leaderboard",
                                    "properties": {
                                      "arenaCategory": {
                                        "description": "Arena category (example: \"text_to_image\", \"image_to_video\")",
                                        "type": "string"
                                      },
                                      "arenaModelName": {
                                        "description": "Model name on arena.ai",
                                        "type": "string"
                                      },
                                      "fetchedAt": {
                                        "description": "When this score was last fetched (ISO date)",
                                        "type": "string"
                                      },
                                      "rank": {
                                        "description": "Rank in the arena category",
                                        "type": "number"
                                      },
                                      "rating": {
                                        "description": "ELO rating",
                                        "type": "number"
                                      },
                                      "ratingLower": {
                                        "description": "ELO rating confidence interval lower bound",
                                        "type": "number"
                                      },
                                      "ratingUpper": {
                                        "description": "ELO rating confidence interval upper bound",
                                        "type": "number"
                                      },
                                      "votes": {
                                        "description": "Number of human votes",
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "arenaCategory",
                                      "arenaModelName",
                                      "fetchedAt",
                                      "rank",
                                      "rating",
                                      "ratingLower",
                                      "ratingUpper",
                                      "votes"
                                    ],
                                    "type": "object"
                                  },
                                  "capability": {
                                    "description": "The generation capability (example: \"txt2img\", \"img2video\", \"txt2audio\")",
                                    "type": "string"
                                  },
                                  "computedAt": {
                                    "description": "When these stats were last computed (ISO date)",
                                    "type": "string"
                                  },
                                  "costPerAssetMaxCU": {
                                    "description": "Maximum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetMinCU": {
                                    "description": "Minimum cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "costPerAssetP50CU": {
                                    "description": "Median cost per output asset (CU)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP50Sec": {
                                    "description": "Inference latency P50 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "inferenceLatencyP75Sec": {
                                    "description": "Inference latency P75 per output asset (seconds)",
                                    "type": "number"
                                  },
                                  "resolution": {
                                    "description": "The resolution bucket (example: \"0.5K\", \"1K\", \"2K\", \"4K\")",
                                    "type": "string"
                                  },
                                  "totalLatencyP50Sec": {
                                    "description": "Total latency P50 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "totalLatencyP75Sec": {
                                    "description": "Total latency P75 per output asset, including queue time (seconds)",
                                    "type": "number"
                                  },
                                  "variantKey": {
                                    "description": "Unique variant identifier (example: \"txt2img:1K\", \"img2video:2K\", \"txt2audio\")",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "capability",
                                  "computedAt",
                                  "variantKey"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "variants"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "default": "private",
                          "description": "The privacy of the model (default: private)",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "promptEmbedding": {
                          "description": "Fine-tune the model's inferences with prompt embedding",
                          "type": "string"
                        },
                        "shortDescription": {
                          "description": "The model short description (example: \"This model generates highly detailed cinematic scenes.\")",
                          "type": "string"
                        },
                        "softDeletionOn": {
                          "description": "The date when the model will be soft deleted (only for Free plan)",
                          "type": "string"
                        },
                        "source": {
                          "description": "The source of the model",
                          "enum": [
                            "civitai",
                            "huggingface",
                            "other",
                            "scenario"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The model status",
                          "enum": [
                            "copying",
                            "failed",
                            "new",
                            "trained",
                            "training",
                            "training-canceled"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "A thumbnail for your model",
                          "properties": {
                            "assetId": {
                              "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                              "type": "string"
                            },
                            "url": {
                              "description": "The url of the image used as a thumbnail for your model",
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "trainingImagePairs": {
                          "description": "Array of training image pairs",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "instruction": {
                                "description": "The instruction for the image pair, source to target",
                                "type": "string"
                              },
                              "sourceId": {
                                "description": "The source asset ID (must be a training asset)",
                                "type": "string"
                              },
                              "targetId": {
                                "description": "The target asset ID (must be a training asset)",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImages": {
                          "description": "The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "automaticCaptioning": {
                                "description": "Automatic captioning of the image",
                                "type": "string"
                              },
                              "createdAt": {
                                "description": "The training image upload date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "description": {
                                "description": "Description for the image",
                                "type": "string"
                              },
                              "downloadUrl": {
                                "description": "The URL of the image",
                                "type": "string"
                              },
                              "id": {
                                "description": "The training image ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "name": {
                                "description": "The original file name of the image (example: \"my-training-image.jpg\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "automaticCaptioning",
                              "createdAt",
                              "description",
                              "downloadUrl",
                              "id",
                              "name"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "trainingImagesNumber": {
                          "description": "The total number of training images",
                          "type": "number"
                        },
                        "trainingProgress": {
                          "additionalProperties": false,
                          "description": "Additional information about the training progress of the model",
                          "properties": {
                            "captchaImageUrl": {
                              "description": "Signed URL of the captcha image to read aloud during PVC voice cloning.\nOnly present when stage === 'pending-captcha'. Overwritten on each retry.",
                              "type": "string"
                            },
                            "position": {
                              "description": "Position of the job in the queue (ie. the number of job in the queue before this one)",
                              "type": "number"
                            },
                            "progress": {
                              "description": "The progress of the job",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "remainingTimeMs": {
                              "description": "The remaining time in milliseconds",
                              "type": "number"
                            },
                            "retryCount": {
                              "description": "Number of consecutive PVC step 2 / step 3 failures on this voice model.\nThe model is marked Failed when this reaches the platform's max retries.",
                              "type": "number"
                            },
                            "retryableError": {
                              "description": "Last recoverable failure message during PVC. Present when the model has\nbounced back to stage === 'ready-for-captcha' after a step 2 or step 3\nfailure (e.g. captcha rejected, time limit exceeded). Surface above the\nretry button so the user understands why they're back here.",
                              "type": "string"
                            },
                            "stage": {
                              "description": "The stage of the request",
                              "enum": [
                                "pending",
                                "pending-captcha",
                                "queued-for-train",
                                "ready-for-captcha",
                                "running-train",
                                "starting-train"
                              ],
                              "type": "string"
                            },
                            "startedAt": {
                              "description": "The timestamp in millisecond marking the start of the process",
                              "type": "number"
                            },
                            "updatedAt": {
                              "description": "Timestamp in milliseconds of the last time the training progress was updated",
                              "type": "number"
                            }
                          },
                          "required": [
                            "stage",
                            "updatedAt"
                          ],
                          "type": "object"
                        },
                        "trainingStats": {
                          "additionalProperties": false,
                          "description": "Additional information about the model's training",
                          "properties": {
                            "endedAt": {
                              "description": "The training end time as an ISO date string",
                              "type": "string"
                            },
                            "queueDuration": {
                              "description": "The training queued duration in seconds",
                              "type": "number"
                            },
                            "startedAt": {
                              "description": "The training start time as an ISO date string",
                              "type": "string"
                            },
                            "trainDuration": {
                              "description": "The training duration in seconds",
                              "type": "number"
                            }
                          },
                          "type": "object"
                        },
                        "type": {
                          "description": "The model type (example: \"flux.1-lora\")",
                          "enum": [
                            "custom",
                            "elevenlabs-voice",
                            "flux.1",
                            "flux.1-composition",
                            "flux.1-kontext-dev",
                            "flux.1-kontext-lora",
                            "flux.1-krea-dev",
                            "flux.1-krea-lora",
                            "flux.1-lora",
                            "flux.1-pro",
                            "flux.1.1-pro-ultra",
                            "flux.2-dev-edit-lora",
                            "flux.2-dev-lora",
                            "flux.2-klein-4b-edit-lora",
                            "flux.2-klein-4b-lora",
                            "flux.2-klein-9b-edit-lora",
                            "flux.2-klein-9b-lora",
                            "flux.2-klein-base-4b-edit-lora",
                            "flux.2-klein-base-4b-lora",
                            "flux.2-klein-base-9b-edit-lora",
                            "flux.2-klein-base-9b-lora",
                            "flux1.1-pro",
                            "gpt-image-1",
                            "qwen-image-2512-lora",
                            "qwen-image-edit-2509-lora",
                            "qwen-image-edit-2511-lora",
                            "qwen-image-edit-lora",
                            "qwen-image-lora",
                            "zimage-de-turbo-lora",
                            "zimage-lora",
                            "zimage-turbo-lora"
                          ],
                          "type": "string"
                        },
                        "uiConfig": {
                          "additionalProperties": false,
                          "description": "The UI configuration for the model",
                          "properties": {
                            "inputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "collapsed": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object"
                              },
                              "description": "Configuration for the input properties",
                              "type": "object"
                            },
                            "lorasComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the loras component",
                              "properties": {
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "modelIdInput": {
                                  "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                  "type": "string"
                                },
                                "modelInput": {
                                  "description": "The input name of the model (model_array)",
                                  "type": "string"
                                },
                                "scaleInput": {
                                  "description": "The input name of the scale (number_array)",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label",
                                "modelInput",
                                "scaleInput"
                              ],
                              "type": "object"
                            },
                            "outputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              },
                              "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                              "type": "object"
                            },
                            "presets": {
                              "description": "Configuration for the presets",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "fields": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "presets": {
                                    "additionalProperties": false,
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "fields",
                                  "presets"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "resolutionComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the resolution component",
                              "properties": {
                                "heightInput": {
                                  "description": "The input name of the height",
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "presets": {
                                  "description": "The resolution presets",
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "height": {
                                        "type": "number"
                                      },
                                      "label": {
                                        "type": "string"
                                      },
                                      "width": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "height",
                                      "label",
                                      "width"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "widthInput": {
                                  "description": "The input name of the width",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "heightInput",
                                "label",
                                "presets",
                                "widthInput"
                              ],
                              "type": "object"
                            },
                            "selects": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "type": "object"
                              },
                              "description": "Configuration for the selects",
                              "type": "object"
                            },
                            "triggerGenerate": {
                              "additionalProperties": false,
                              "description": "Configuration for the trigger generate button",
                              "properties": {
                                "after": {
                                  "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "position": {
                                  "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                  "enum": [
                                    "bottom",
                                    "top"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label"
                              ],
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The model last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "userId": {
                          "description": "(Deprecated) The user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "capabilities",
                        "collectionIds",
                        "createdAt",
                        "custom",
                        "exampleAssetIds",
                        "id",
                        "privacy",
                        "source",
                        "status",
                        "tags",
                        "trainingImagesNumber",
                        "type",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "model"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/oscu/prices": {
      "get": {
        "operationId": "GetPublicOscuPrices",
        "description": "Get the public Prepaid Compute Units (or OSCU for One Shot Compute Units) price details",
        "tags": [
          "Pricing"
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "prices": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "unitAmount": {
                            "type": "number"
                          },
                          "creativeUnits": {
                            "type": "number"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "expires": {
                            "type": "number"
                          }
                        }
                      }
                    }
                  },
                  "required": [
                    "prices"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams": {
      "get": {
        "operationId": "GetTeams",
        "description": "List the teams the user belongs to",
        "tags": [
          "Teams"
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "teams": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "avatar": {
                            "additionalProperties": false,
                            "description": "The team's avatar",
                            "properties": {
                              "assetId": {
                                "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                                "type": "string"
                              },
                              "url": {
                                "description": "Signed URL of the assetId or free url if assetId is undefined",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "byok": {
                            "additionalProperties": false,
                            "description": "BYOK pricing override. Admin-only — omitted for non-admin callers.",
                            "properties": {
                              "markupMultiplier": {
                                "type": "number"
                              },
                              "updatedAt": {
                                "description": "ISO timestamp of the last update. Optional — legacy rows may lack it.",
                                "type": "string"
                              },
                              "updatedBy": {
                                "description": "Human-readable handle of who last updated the markup (display name).",
                                "type": "string"
                              }
                            },
                            "required": [
                              "markupMultiplier"
                            ],
                            "type": "object"
                          },
                          "context": {
                            "additionalProperties": false,
                            "description": "The context of the team for the current authenticated user",
                            "properties": {
                              "invitationsCount": {
                                "description": "The number of invitations on this team",
                                "type": "number"
                              },
                              "keysCount": {
                                "description": "The number of API keys on this team",
                                "type": "number"
                              },
                              "userRole": {
                                "description": "The authenticated user's role for this team",
                                "enum": [
                                  "admin",
                                  "key",
                                  "member"
                                ],
                                "type": "string"
                              },
                              "usersCount": {
                                "description": "The number of users on this team",
                                "type": "number"
                              }
                            },
                            "required": [
                              "invitationsCount",
                              "keysCount",
                              "userRole",
                              "usersCount"
                            ],
                            "type": "object"
                          },
                          "createdAt": {
                            "description": "The team creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "defaultUserMaxConsumption": {
                            "description": "Team-wide default max consumption (CU) applied to every member over the\nbilling period, unless overridden per member. Absent when no team-wide\ndefault is set.",
                            "type": "number"
                          },
                          "id": {
                            "description": "The team ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                            "type": "string"
                          },
                          "ipDetectionEnforcement": {
                            "description": "The IP detection enforcement posture for the team.\n'disabled': IP detection is not performed.\n'active-fail-open': IP detection runs; on detector error the request is allowed through.\n'active-fail-closed': IP detection runs; on detector error the request is blocked.",
                            "enum": [
                              "active-fail-closed",
                              "active-fail-open",
                              "disabled"
                            ],
                            "type": "string"
                          },
                          "name": {
                            "description": "The team name (example: \"Scenario\")",
                            "type": "string"
                          },
                          "plan": {
                            "description": "The team plan",
                            "enum": [
                              "cu-basic",
                              "cu-creator",
                              "cu-max",
                              "cu-pro",
                              "cu-pro-q3-25",
                              "cu-team",
                              "cu-team-v2",
                              "enterprise",
                              "essential",
                              "free",
                              "premium",
                              "pro"
                            ],
                            "type": "string"
                          },
                          "projects": {
                            "description": "Projects of the team",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "avatar": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "assetId": {
                                      "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                                      "type": "string"
                                    },
                                    "url": {
                                      "description": "Signed URL of the assetId or free url if assetId is undefined",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                },
                                "createdAt": {
                                  "type": "string"
                                },
                                "disableIpDetection": {
                                  "description": "When true, IP detection is switched off for this project.",
                                  "type": "boolean"
                                },
                                "id": {
                                  "type": "string"
                                },
                                "name": {
                                  "type": "string"
                                },
                                "qualityGateAutoDetect": {
                                  "description": "Whether Quality Gate auto-detection runs on generation for this project.",
                                  "type": "boolean"
                                },
                                "updatedAt": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "createdAt",
                                "id",
                                "name",
                                "updatedAt"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "qualityGateAutoDetect": {
                            "description": "Quality Gate auto-detection default for the team.",
                            "type": "boolean"
                          },
                          "type": {
                            "description": "The team type",
                            "enum": [
                              "personal",
                              "shared"
                            ],
                            "type": "string"
                          },
                          "updatedAt": {
                            "description": "The team update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          }
                        },
                        "required": [
                          "context",
                          "createdAt",
                          "id",
                          "name",
                          "plan",
                          "projects",
                          "type",
                          "updatedAt"
                        ],
                        "type": "object"
                      },
                      "description": "A list of the teams the user belongs to"
                    }
                  },
                  "required": [
                    "teams"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "post": {
        "operationId": "PostTeams",
        "description": "Create a team",
        "tags": [
          "Teams"
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "team": {
                      "additionalProperties": false,
                      "properties": {
                        "avatar": {
                          "additionalProperties": false,
                          "description": "The team's avatar",
                          "properties": {
                            "assetId": {
                              "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                              "type": "string"
                            },
                            "url": {
                              "description": "Signed URL of the assetId or free url if assetId is undefined",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "byok": {
                          "additionalProperties": false,
                          "description": "BYOK pricing override. Admin-only — omitted for non-admin callers.",
                          "properties": {
                            "markupMultiplier": {
                              "type": "number"
                            },
                            "updatedAt": {
                              "description": "ISO timestamp of the last update. Optional — legacy rows may lack it.",
                              "type": "string"
                            },
                            "updatedBy": {
                              "description": "Human-readable handle of who last updated the markup (display name).",
                              "type": "string"
                            }
                          },
                          "required": [
                            "markupMultiplier"
                          ],
                          "type": "object"
                        },
                        "context": {
                          "additionalProperties": false,
                          "description": "The context of the team for the current authenticated user",
                          "properties": {
                            "invitationsCount": {
                              "description": "The number of invitations on this team",
                              "type": "number"
                            },
                            "keysCount": {
                              "description": "The number of API keys on this team",
                              "type": "number"
                            },
                            "userRole": {
                              "description": "The authenticated user's role for this team",
                              "enum": [
                                "admin",
                                "key",
                                "member"
                              ],
                              "type": "string"
                            },
                            "usersCount": {
                              "description": "The number of users on this team",
                              "type": "number"
                            }
                          },
                          "required": [
                            "invitationsCount",
                            "keysCount",
                            "userRole",
                            "usersCount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The team creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "defaultUserMaxConsumption": {
                          "description": "Team-wide default max consumption (CU) applied to every member over the\nbilling period, unless overridden per member. Absent when no team-wide\ndefault is set.",
                          "type": "number"
                        },
                        "id": {
                          "description": "The team ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "ipDetectionEnforcement": {
                          "description": "The IP detection enforcement posture for the team.\n'disabled': IP detection is not performed.\n'active-fail-open': IP detection runs; on detector error the request is allowed through.\n'active-fail-closed': IP detection runs; on detector error the request is blocked.",
                          "enum": [
                            "active-fail-closed",
                            "active-fail-open",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "name": {
                          "description": "The team name (example: \"Scenario\")",
                          "type": "string"
                        },
                        "plan": {
                          "description": "The team plan",
                          "enum": [
                            "cu-basic",
                            "cu-creator",
                            "cu-max",
                            "cu-pro",
                            "cu-pro-q3-25",
                            "cu-team",
                            "cu-team-v2",
                            "enterprise",
                            "essential",
                            "free",
                            "premium",
                            "pro"
                          ],
                          "type": "string"
                        },
                        "projects": {
                          "description": "Projects of the team",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "avatar": {
                                "additionalProperties": false,
                                "properties": {
                                  "assetId": {
                                    "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "Signed URL of the assetId or free url if assetId is undefined",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "createdAt": {
                                "type": "string"
                              },
                              "disableIpDetection": {
                                "description": "When true, IP detection is switched off for this project.",
                                "type": "boolean"
                              },
                              "id": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "qualityGateAutoDetect": {
                                "description": "Whether Quality Gate auto-detection runs on generation for this project.",
                                "type": "boolean"
                              },
                              "updatedAt": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "createdAt",
                              "id",
                              "name",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "qualityGateAutoDetect": {
                          "description": "Quality Gate auto-detection default for the team.",
                          "type": "boolean"
                        },
                        "type": {
                          "description": "The team type",
                          "enum": [
                            "personal",
                            "shared"
                          ],
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The team update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "context",
                        "createdAt",
                        "id",
                        "name",
                        "plan",
                        "projects",
                        "type",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "team"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "name": {
                    "description": "The team name (example: \"Scenario\")",
                    "type": "string"
                  },
                  "shouldEnrich": {
                    "default": true,
                    "description": "Whether the team should be enriched",
                    "type": "boolean"
                  },
                  "shouldIndex": {
                    "default": true,
                    "description": "Whether the team should be indexed",
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/teams/{teamId}": {
      "put": {
        "operationId": "PutTeamsByTeamId",
        "description": "Update a particular team",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team Id to update",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "team": {
                      "additionalProperties": false,
                      "description": "The updated team.",
                      "properties": {
                        "avatar": {
                          "additionalProperties": false,
                          "description": "The team's avatar",
                          "properties": {
                            "assetId": {
                              "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                              "type": "string"
                            },
                            "url": {
                              "description": "Signed URL of the assetId or free url if assetId is undefined",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "byok": {
                          "additionalProperties": false,
                          "description": "BYOK pricing override. Admin-only — omitted for non-admin callers.",
                          "properties": {
                            "markupMultiplier": {
                              "type": "number"
                            },
                            "updatedAt": {
                              "description": "ISO timestamp of the last update. Optional — legacy rows may lack it.",
                              "type": "string"
                            },
                            "updatedBy": {
                              "description": "Human-readable handle of who last updated the markup (display name).",
                              "type": "string"
                            }
                          },
                          "required": [
                            "markupMultiplier"
                          ],
                          "type": "object"
                        },
                        "context": {
                          "additionalProperties": false,
                          "description": "The context of the team for the current authenticated user",
                          "properties": {
                            "invitationsCount": {
                              "description": "The number of invitations on this team",
                              "type": "number"
                            },
                            "keysCount": {
                              "description": "The number of API keys on this team",
                              "type": "number"
                            },
                            "userRole": {
                              "description": "The authenticated user's role for this team",
                              "enum": [
                                "admin",
                                "key",
                                "member"
                              ],
                              "type": "string"
                            },
                            "usersCount": {
                              "description": "The number of users on this team",
                              "type": "number"
                            }
                          },
                          "required": [
                            "invitationsCount",
                            "keysCount",
                            "userRole",
                            "usersCount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The team creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "defaultUserMaxConsumption": {
                          "description": "Team-wide default max consumption (CU) applied to every member over the\nbilling period, unless overridden per member. Absent when no team-wide\ndefault is set.",
                          "type": "number"
                        },
                        "id": {
                          "description": "The team ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "ipDetectionEnforcement": {
                          "description": "The IP detection enforcement posture for the team.\n'disabled': IP detection is not performed.\n'active-fail-open': IP detection runs; on detector error the request is allowed through.\n'active-fail-closed': IP detection runs; on detector error the request is blocked.",
                          "enum": [
                            "active-fail-closed",
                            "active-fail-open",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "name": {
                          "description": "The team name (example: \"Scenario\")",
                          "type": "string"
                        },
                        "plan": {
                          "description": "The team plan",
                          "enum": [
                            "cu-basic",
                            "cu-creator",
                            "cu-max",
                            "cu-pro",
                            "cu-pro-q3-25",
                            "cu-team",
                            "cu-team-v2",
                            "enterprise",
                            "essential",
                            "free",
                            "premium",
                            "pro"
                          ],
                          "type": "string"
                        },
                        "projects": {
                          "description": "Projects of the team",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "avatar": {
                                "additionalProperties": false,
                                "properties": {
                                  "assetId": {
                                    "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "Signed URL of the assetId or free url if assetId is undefined",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "createdAt": {
                                "type": "string"
                              },
                              "disableIpDetection": {
                                "description": "When true, IP detection is switched off for this project.",
                                "type": "boolean"
                              },
                              "id": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "qualityGateAutoDetect": {
                                "description": "Whether Quality Gate auto-detection runs on generation for this project.",
                                "type": "boolean"
                              },
                              "updatedAt": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "createdAt",
                              "id",
                              "name",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "qualityGateAutoDetect": {
                          "description": "Quality Gate auto-detection default for the team.",
                          "type": "boolean"
                        },
                        "settings": {
                          "additionalProperties": false,
                          "description": "Team settings.",
                          "properties": {
                            "homepage": {
                              "additionalProperties": {},
                              "description": "Published homepage layout.",
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "type": {
                          "description": "The team type",
                          "enum": [
                            "personal",
                            "shared"
                          ],
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The team update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "context",
                        "createdAt",
                        "id",
                        "name",
                        "plan",
                        "projects",
                        "type",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "team"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "avatarAssetId": {
                    "description": "The team's avatar asset ID (must be kind image)",
                    "type": "string"
                  },
                  "defaultUserMaxConsumption": {
                    "description": "Team-wide default max consumption (CU) applied to every member over the\nbilling period, overridable per member. Set to null to remove the default.",
                    "type": "number"
                  },
                  "ipDetectionEnforcement": {
                    "description": "The IP detection enforcement posture for the team.\n'disabled': IP detection is not performed.\n'active-fail-open': IP detection runs; on detector error the request is allowed through.\n'active-fail-closed': IP detection runs; on detector error the request is blocked.",
                    "enum": [
                      "active-fail-closed",
                      "active-fail-open",
                      "disabled"
                    ],
                    "type": "string"
                  },
                  "name": {
                    "description": "The team name (example: \"Scenario\")",
                    "type": "string"
                  },
                  "qualityGateAutoDetect": {
                    "description": "Enable Quality Gate auto-detection on generation for this team (projects can\noverride). Set to null to clear the default.",
                    "type": "boolean"
                  },
                  "settings": {
                    "additionalProperties": false,
                    "description": "Team settings. Set `homepage` to a layout object to publish it, or to\n`null` to unpublish it. Team-admin only.",
                    "properties": {
                      "homepage": {
                        "description": "Homepage layout. An object publishes it; `null` unpublishes it."
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      },
      "get": {
        "operationId": "GetTeamsByTeamId",
        "description": "Get the details of a team",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team Id to retrieve",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "team": {
                      "additionalProperties": false,
                      "properties": {
                        "avatar": {
                          "additionalProperties": false,
                          "description": "The team's avatar",
                          "properties": {
                            "assetId": {
                              "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                              "type": "string"
                            },
                            "url": {
                              "description": "Signed URL of the assetId or free url if assetId is undefined",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "byok": {
                          "additionalProperties": false,
                          "description": "BYOK pricing override. Admin-only — omitted for non-admin callers.",
                          "properties": {
                            "markupMultiplier": {
                              "type": "number"
                            },
                            "updatedAt": {
                              "description": "ISO timestamp of the last update. Optional — legacy rows may lack it.",
                              "type": "string"
                            },
                            "updatedBy": {
                              "description": "Human-readable handle of who last updated the markup (display name).",
                              "type": "string"
                            }
                          },
                          "required": [
                            "markupMultiplier"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The team creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "defaultUserMaxConsumption": {
                          "description": "Team-wide default max consumption (CU) applied to every member over the\nbilling period, unless overridden per member. Absent when no team-wide\ndefault is set.",
                          "type": "number"
                        },
                        "id": {
                          "description": "The team ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "invitations": {
                          "description": "The list of pending invitations",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "createdAt": {
                                "description": "The user creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "email": {
                                "description": "The invited user email (example: \"herve@scenario.com\")",
                                "type": "string"
                              },
                              "projectIds": {
                                "description": "The list of project IDs for which the user is invited",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "role": {
                                "description": "The role of the invited user inside the team",
                                "enum": [
                                  "admin",
                                  "key",
                                  "member"
                                ],
                                "type": "string"
                              },
                              "status": {
                                "description": "The status of the invitation",
                                "enum": [
                                  "accepted",
                                  "expired",
                                  "pending",
                                  "withdrawn"
                                ],
                                "type": "string"
                              },
                              "url": {
                                "description": "The link the invited user opens to accept the invitation, as sent by email",
                                "type": "string"
                              }
                            },
                            "required": [
                              "createdAt",
                              "email",
                              "role",
                              "status",
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "ipDetectionEnforcement": {
                          "description": "The IP detection enforcement posture for the team.\n'disabled': IP detection is not performed.\n'active-fail-open': IP detection runs; on detector error the request is allowed through.\n'active-fail-closed': IP detection runs; on detector error the request is blocked.",
                          "enum": [
                            "active-fail-closed",
                            "active-fail-open",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "keys": {
                          "description": "The list of API keys",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "apiKeyId": {
                                "description": "The API key id (`api_...`), taken by the api-keys routes (example:\n\"api_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "apiKeyStatus": {
                                "description": "The status of the API key",
                                "enum": [
                                  "active",
                                  "inactive"
                                ],
                                "type": "string"
                              },
                              "authorId": {
                                "description": "The member who created the key: a human, or the member id (`apiu_...`) of\nthe team API key that created it.",
                                "type": "string"
                              },
                              "consumption": {
                                "description": "Consumption (CU) used by this key over the current billing period.",
                                "type": "number"
                              },
                              "createdAt": {
                                "description": "The API key creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The key's member id (its API user id, `apiu_...`), taken by the member and\nusage routes (example: \"apiu_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "lastUsedAt": {
                                "description": "The date the API key was last used to authenticate a request, as an ISO\nstring (example: \"2023-02-03T11:19:41.579Z\"). Absent if the key has never\nbeen used.",
                                "type": "string"
                              },
                              "maxConsumption": {
                                "description": "The key's effective consumption (CU) cap for the period (per-key override,\nelse the team-wide default). Absent when the key is uncapped.",
                                "type": "number"
                              },
                              "name": {
                                "description": "The API key name (example: \"eurv-scenario\")",
                                "type": "string"
                              },
                              "ownerId": {
                                "description": "For a PROJECT key: the project it was created on (the team id on some\nlegacy keys). Absent for team keys.",
                                "type": "string"
                              },
                              "projects": {
                                "description": "For a PROJECT key: the projects it has access to and its role on each.\nEmpty when the key is currently not a member of any (live) project.\nAbsent for team keys.",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "A project a `project`-scoped API key has access to, with its role on that\nproject. A key can be granted roles on several projects, potentially with\ndifferent roles — one entry per project.",
                                  "properties": {
                                    "projectId": {
                                      "description": "The project the key has a role on",
                                      "type": "string"
                                    },
                                    "role": {
                                      "description": "The key's role on this project: a built-in role (`admin`/`editor`/`reader`)\nor a custom `;`-separated scope list (example: `\"asset.read;model.read\"`).",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "projectId",
                                    "role"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "role": {
                                "description": "The key's role. For a TEAM key: its effective team-plane scopes as a\n`;`-separated list (e.g. `\"team.read;team.usage.read\"`). Project keys\ncarry their project-plane role(s) per project in `projects` instead.",
                                "type": "string"
                              },
                              "scope": {
                                "description": "The scope of the API key: 'project' for project-scoped keys, 'team' for team-scoped keys",
                                "enum": [
                                  "project",
                                  "team"
                                ],
                                "type": "string"
                              },
                              "updatedAt": {
                                "description": "The API key last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "apiKeyId",
                              "apiKeyStatus",
                              "createdAt",
                              "id",
                              "name",
                              "scope",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "name": {
                          "description": "The team name (example: \"Scenario\")",
                          "type": "string"
                        },
                        "paymentStatus": {
                          "description": "The paymentStatus for the team",
                          "enum": [
                            "failed",
                            "succeeded"
                          ],
                          "type": "string"
                        },
                        "plan": {
                          "description": "The team plan",
                          "enum": [
                            "cu-basic",
                            "cu-creator",
                            "cu-max",
                            "cu-pro",
                            "cu-pro-q3-25",
                            "cu-team",
                            "cu-team-v2",
                            "enterprise",
                            "essential",
                            "free",
                            "premium",
                            "pro"
                          ],
                          "type": "string"
                        },
                        "projects": {
                          "description": "Projects of the team",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "avatar": {
                                "additionalProperties": false,
                                "properties": {
                                  "assetId": {
                                    "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "Signed URL of the assetId or free url if assetId is undefined",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "createdAt": {
                                "type": "string"
                              },
                              "disableIpDetection": {
                                "description": "When true, IP detection is switched off for this project.",
                                "type": "boolean"
                              },
                              "id": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "qualityGateAutoDetect": {
                                "description": "Whether Quality Gate auto-detection runs on generation for this project.",
                                "type": "boolean"
                              },
                              "updatedAt": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "createdAt",
                              "id",
                              "name",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "qualityGateAutoDetect": {
                          "description": "Quality Gate auto-detection default for the team.",
                          "type": "boolean"
                        },
                        "searchHost": {
                          "description": "The search host for the team",
                          "type": "string"
                        },
                        "searchIndexes": {
                          "additionalProperties": false,
                          "description": "The search indexes for the team",
                          "properties": {
                            "assets": {
                              "additionalProperties": false,
                              "properties": {
                                "private": {
                                  "description": "The private search index for the team",
                                  "type": "string"
                                },
                                "public": {
                                  "description": "The public search index for the team",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "private",
                                "public"
                              ],
                              "type": "object"
                            },
                            "models": {
                              "additionalProperties": false,
                              "properties": {
                                "private": {
                                  "description": "The private search index for the team",
                                  "type": "string"
                                },
                                "public": {
                                  "description": "The public search index for the team",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "private",
                                "public"
                              ],
                              "type": "object"
                            },
                            "workflows": {
                              "additionalProperties": false,
                              "properties": {
                                "private": {
                                  "description": "The private search index for the team",
                                  "type": "string"
                                },
                                "public": {
                                  "description": "The public search index for the team",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "private",
                                "public"
                              ],
                              "type": "object"
                            }
                          },
                          "required": [
                            "assets",
                            "models",
                            "workflows"
                          ],
                          "type": "object"
                        },
                        "settings": {
                          "additionalProperties": false,
                          "description": "Team settings. Returned on `GET` and `PUT /teams/{teamId}`, absent from\nthe teams list.",
                          "properties": {
                            "homepage": {
                              "additionalProperties": {},
                              "description": "Published homepage layout.",
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "subscriptionStatus": {
                          "description": "The subscriptionStatus for the team",
                          "enum": [
                            "active",
                            "inactive",
                            "paused"
                          ],
                          "type": "string"
                        },
                        "type": {
                          "description": "The team type",
                          "enum": [
                            "personal",
                            "shared"
                          ],
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The team update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "users": {
                          "description": "The list of teams members and their role",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "avatar": {
                                "additionalProperties": false,
                                "description": "The user's avatar",
                                "properties": {
                                  "assetId": {
                                    "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "Signed URL of the assetId or free url if assetId is undefined",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "consumption": {
                                "description": "Consumption (CU) used by this member over the current billing period.",
                                "type": "number"
                              },
                              "createdAt": {
                                "description": "The user creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "email": {
                                "description": "The user email (example: \"herve@scenario.com\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The user ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "maxConsumption": {
                                "description": "The member's effective consumption (CU) cap for the period (per-user\noverride, else the team-wide default). Absent when the member is uncapped.",
                                "type": "number"
                              },
                              "role": {
                                "description": "The role of the user inside the team",
                                "enum": [
                                  "admin",
                                  "key",
                                  "member"
                                ],
                                "type": "string"
                              },
                              "updatedAt": {
                                "description": "The user last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "createdAt",
                              "email",
                              "id",
                              "role",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "required": [
                        "createdAt",
                        "id",
                        "invitations",
                        "keys",
                        "name",
                        "paymentStatus",
                        "plan",
                        "projects",
                        "searchHost",
                        "searchIndexes",
                        "type",
                        "updatedAt",
                        "users"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "team"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "delete": {
        "operationId": "DeleteTeamsByTeamId",
        "description": "Delete a particular team",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team Id to delete",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams/{teamId}/members": {
      "post": {
        "operationId": "PostTeamsMembersByTeamId",
        "description": "Add a member to the team",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team Id on which to add the member",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "team": {
                      "additionalProperties": false,
                      "properties": {
                        "avatar": {
                          "additionalProperties": false,
                          "description": "The team's avatar",
                          "properties": {
                            "assetId": {
                              "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                              "type": "string"
                            },
                            "url": {
                              "description": "Signed URL of the assetId or free url if assetId is undefined",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "byok": {
                          "additionalProperties": false,
                          "description": "BYOK pricing override. Admin-only — omitted for non-admin callers.",
                          "properties": {
                            "markupMultiplier": {
                              "type": "number"
                            },
                            "updatedAt": {
                              "description": "ISO timestamp of the last update. Optional — legacy rows may lack it.",
                              "type": "string"
                            },
                            "updatedBy": {
                              "description": "Human-readable handle of who last updated the markup (display name).",
                              "type": "string"
                            }
                          },
                          "required": [
                            "markupMultiplier"
                          ],
                          "type": "object"
                        },
                        "context": {
                          "additionalProperties": false,
                          "description": "The context of the team for the current authenticated user",
                          "properties": {
                            "invitationsCount": {
                              "description": "The number of invitations on this team",
                              "type": "number"
                            },
                            "keysCount": {
                              "description": "The number of API keys on this team",
                              "type": "number"
                            },
                            "userRole": {
                              "description": "The authenticated user's role for this team",
                              "enum": [
                                "admin",
                                "key",
                                "member"
                              ],
                              "type": "string"
                            },
                            "usersCount": {
                              "description": "The number of users on this team",
                              "type": "number"
                            }
                          },
                          "required": [
                            "invitationsCount",
                            "keysCount",
                            "userRole",
                            "usersCount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The team creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "defaultUserMaxConsumption": {
                          "description": "Team-wide default max consumption (CU) applied to every member over the\nbilling period, unless overridden per member. Absent when no team-wide\ndefault is set.",
                          "type": "number"
                        },
                        "id": {
                          "description": "The team ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "ipDetectionEnforcement": {
                          "description": "The IP detection enforcement posture for the team.\n'disabled': IP detection is not performed.\n'active-fail-open': IP detection runs; on detector error the request is allowed through.\n'active-fail-closed': IP detection runs; on detector error the request is blocked.",
                          "enum": [
                            "active-fail-closed",
                            "active-fail-open",
                            "disabled"
                          ],
                          "type": "string"
                        },
                        "name": {
                          "description": "The team name (example: \"Scenario\")",
                          "type": "string"
                        },
                        "plan": {
                          "description": "The team plan",
                          "enum": [
                            "cu-basic",
                            "cu-creator",
                            "cu-max",
                            "cu-pro",
                            "cu-pro-q3-25",
                            "cu-team",
                            "cu-team-v2",
                            "enterprise",
                            "essential",
                            "free",
                            "premium",
                            "pro"
                          ],
                          "type": "string"
                        },
                        "projects": {
                          "description": "Projects of the team",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "avatar": {
                                "additionalProperties": false,
                                "properties": {
                                  "assetId": {
                                    "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "Signed URL of the assetId or free url if assetId is undefined",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "createdAt": {
                                "type": "string"
                              },
                              "disableIpDetection": {
                                "description": "When true, IP detection is switched off for this project.",
                                "type": "boolean"
                              },
                              "id": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "qualityGateAutoDetect": {
                                "description": "Whether Quality Gate auto-detection runs on generation for this project.",
                                "type": "boolean"
                              },
                              "updatedAt": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "createdAt",
                              "id",
                              "name",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "qualityGateAutoDetect": {
                          "description": "Quality Gate auto-detection default for the team.",
                          "type": "boolean"
                        },
                        "type": {
                          "description": "The team type",
                          "enum": [
                            "personal",
                            "shared"
                          ],
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The team update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "context",
                        "createdAt",
                        "id",
                        "name",
                        "plan",
                        "projects",
                        "type",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "team"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string",
                    "description": "The email of the user you want to add to your team"
                  },
                  "role": {
                    "type": "string",
                    "description": "The role you want to give the user",
                    "enum": [
                      "admin",
                      "member"
                    ]
                  },
                  "projectIds": {
                    "type": "array",
                    "description": "The project IDs for which the user is invited",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "email"
                ]
              }
            }
          }
        }
      }
    },
    "/teams/{teamId}/members/{memberId}": {
      "put": {
        "operationId": "PutTeamsMembersByTeamIdAndMemberId",
        "description": "Update a team member's role and/or consumption limit",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team Id the member belongs to",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member Id to update",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Request body for `PUT /teams/{teamId}/members/{memberId}`. At least one of\n`role` or `maxConsumption` must be provided.",
                "properties": {
                  "maxConsumption": {
                    "description": "Max consumption (CU) for this member over the billing period, overriding\nthe team-wide default. Use a value `>= 0` to cap, `-1` for unlimited\n(uncapped), or `null` to remove the override and fall back to the team-wide\ndefault.",
                    "type": "number"
                  },
                  "role": {
                    "description": "For a human member: a built-in team role (`admin` | `member`).\nFor an API-key member: a team-plane role — a `;`-separated list of `team.*`\nscopes (e.g. `\"team.members.manage;team.usage.read\"`). Only a human team\nadmin can grant a write scope; `team.members.manage` also lets a team key\nmanage the members, API keys and consumption cap of every project of the\nteam.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteTeamsMembersByTeamIdAndMemberId",
        "description": "Remove a member from the team",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team Id concerned by the member removal",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member Id to remove",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams/{teamId}/api-keys": {
      "post": {
        "operationId": "PostTeamsApiKeysByTeamId",
        "description": "Create an API key for a particular team",
        "tags": [
          "API Keys"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team Id on which an api key will be created",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "authorId": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "id": {
                      "type": "string"
                    },
                    "ownerId": {
                      "type": "string"
                    },
                    "ownerType": {
                      "enum": [
                        "project",
                        "team"
                      ],
                      "type": "string"
                    },
                    "secret": {
                      "type": "string"
                    },
                    "teamId": {
                      "type": "string"
                    },
                    "userId": {
                      "description": "The key's member id (`apiu_...`), taken by the member routes; the\napi-keys routes take `id`.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "authorId",
                    "createdAt",
                    "id",
                    "ownerType",
                    "secret",
                    "userId"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The API Key name"
                  },
                  "role": {
                    "type": "string",
                    "description": "Team-plane role: a \";\"-separated list of team scopes (e.g. \"team.members.manage;team.usage.read\"). Defaults to reading team info + usages."
                  },
                  "maxConsumption": {
                    "type": "number",
                    "description": "Optional spending cap (CU) for this key over the billing period: a value >= 0 to cap, or -1 for unlimited. Omit to inherit the team-wide default."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/teams/{teamId}/api-keys/{keyId}": {
      "put": {
        "operationId": "PutTeamsApiKeyByTeamIdAndKeyId",
        "description": "Update a particular api key",
        "tags": [
          "API Keys"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team Id on which the api key exists",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyId",
            "in": "path",
            "required": true,
            "description": "The key Id to update",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name of the API key"
                  },
                  "apiKeyStatus": {
                    "type": "string",
                    "enum": [
                      "active",
                      "inactive"
                    ],
                    "description": "The status of the API key"
                  },
                  "limits": {
                    "type": "object",
                    "description": "The limits to apply to the API key, -1 means unlimited, 0 means disabled, positive integer means the limit",
                    "properties": {
                      "inferenceImages": {
                        "type": "number",
                        "description": "The number of images generated allowed per month"
                      },
                      "upscale": {
                        "type": "number",
                        "description": "The number of images upscaled allowed per month"
                      },
                      "pixelate": {
                        "type": "number",
                        "description": "The number of images pixelated allowed per month"
                      },
                      "removeBackground": {
                        "type": "number",
                        "description": "The number of images with background removed allowed per month"
                      },
                      "trainModel": {
                        "type": "number",
                        "description": "The number of models trained allowed per month"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteTeamsApiKeyByTeamIdAndKeyId",
        "description": "Delete a particular api key",
        "tags": [
          "API Keys"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team Id on which the api key exists",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyId",
            "in": "path",
            "required": true,
            "description": "The key Id to delete",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams/{teamId}/invitations": {
      "delete": {
        "operationId": "DeleteTeamsInvitationsByTeamId",
        "description": "Withdraw a user invitation on the team",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team id concerned by the invitation withdrawal",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "required": true,
            "description": "The invitation email to withdraw from the team",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams/{teamId}/subscriptions": {
      "get": {
        "operationId": "GetTeamsSubscriptionsByTeamId",
        "description": "Get the current subscription of the team",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team id concerned by the subscription plan",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "addOns": {
                      "description": "The addOns of the subscription",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "enum": [
                              "creative-boost",
                              "flux-unlimited"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "id"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "coming": {
                      "additionalProperties": false,
                      "properties": {
                        "additionalSeats": {
                          "description": "The number of additional seats of the subscription",
                          "type": "number"
                        },
                        "additionalSeatsAmount": {
                          "description": "The price for all additional seats",
                          "type": "number"
                        },
                        "amount": {
                          "description": "The amount of the subscription",
                          "type": "number"
                        },
                        "currency": {
                          "description": "The currency of the subscription",
                          "type": "string"
                        },
                        "interval": {
                          "description": "The interval of the subscription",
                          "enum": [
                            "month",
                            "year"
                          ],
                          "type": "string"
                        },
                        "plan": {
                          "description": "The plan of the team",
                          "enum": [
                            "cu-basic",
                            "cu-creator",
                            "cu-max",
                            "cu-pro",
                            "cu-pro-q3-25",
                            "cu-team",
                            "cu-team-v2",
                            "enterprise",
                            "essential",
                            "free",
                            "premium",
                            "pro"
                          ],
                          "type": "string"
                        },
                        "seats": {
                          "description": "The number of seats of the subscription",
                          "type": "number"
                        },
                        "startAt": {
                          "description": "The start date of the subscription",
                          "format": "date-time",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "nextInvoiceAmount": {
                      "description": "The amount of the next invoice",
                      "type": "number"
                    },
                    "paymentProvider": {
                      "description": "The current paymentProvider for the team",
                      "enum": [
                        "applepay",
                        "scenario",
                        "stripe"
                      ],
                      "type": "string"
                    },
                    "paymentStatus": {
                      "description": "The current paymentStatus for the team, can be: 'succeeded', 'failed'",
                      "enum": [
                        "failed",
                        "succeeded"
                      ],
                      "type": "string"
                    },
                    "period": {
                      "additionalProperties": false,
                      "description": "The current subscription period of the team",
                      "properties": {
                        "endAt": {
                          "format": "date-time",
                          "type": "string"
                        },
                        "startAt": {
                          "format": "date-time",
                          "type": "string"
                        }
                      },
                      "required": [
                        "endAt",
                        "startAt"
                      ],
                      "type": "object"
                    },
                    "subscription": {
                      "additionalProperties": false,
                      "properties": {
                        "accessRestrictionLevel": {
                          "description": "The access restriction level of the plan",
                          "type": "number"
                        },
                        "additionalSeatUnitCost": {
                          "description": "The price for a single additional seat",
                          "type": "number"
                        },
                        "additionalSeats": {
                          "description": "The number of additional seats",
                          "type": "number"
                        },
                        "additionalSeatsAmount": {
                          "description": "The price for all additional seats",
                          "type": "number"
                        },
                        "amount": {
                          "description": "The price of the subscription",
                          "type": "number"
                        },
                        "autoRefill": {
                          "additionalProperties": false,
                          "description": "The autoRefill settings",
                          "properties": {
                            "enabled": {
                              "type": "boolean"
                            },
                            "lastRefill": {
                              "format": "date-time",
                              "type": "string"
                            },
                            "quantity": {
                              "type": "number"
                            },
                            "threshold": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "enabled"
                          ],
                          "type": "object"
                        },
                        "cancelAtPeriodEnd": {
                          "description": "The flag to know if the subscription is canceled at the end of the period",
                          "type": "boolean"
                        },
                        "currency": {
                          "description": "The currency of the subscription",
                          "type": "string"
                        },
                        "interval": {
                          "description": "The interval of the subscription",
                          "enum": [
                            "month",
                            "year"
                          ],
                          "type": "string"
                        },
                        "pausedUntil": {
                          "description": "The date until the subscription is paused",
                          "format": "date-time",
                          "type": "string"
                        },
                        "paymentProviderCustomerId": {
                          "description": "The payment provider customer id",
                          "type": "string"
                        },
                        "paymentProviderSubscriptionId": {
                          "description": "The payment provider subscription id",
                          "type": "string"
                        },
                        "periodEndAt": {
                          "description": "The end date of the subscription.\nIf the cancelAtPeriodEnd is true, the subscription will be canceled at this date",
                          "format": "date-time",
                          "type": "string"
                        },
                        "plan": {
                          "description": "The plan of the team",
                          "enum": [
                            "cu-basic",
                            "cu-creator",
                            "cu-max",
                            "cu-pro",
                            "cu-pro-q3-25",
                            "cu-team",
                            "cu-team-v2",
                            "enterprise",
                            "essential",
                            "free",
                            "premium",
                            "pro"
                          ],
                          "type": "string"
                        },
                        "planName": {
                          "description": "The customized name of the plan",
                          "type": "string"
                        },
                        "seats": {
                          "description": "The number of seats of the subscription",
                          "type": "number"
                        },
                        "status": {
                          "description": "The status of the subscription",
                          "enum": [
                            "active",
                            "inactive",
                            "paused"
                          ],
                          "type": "string"
                        }
                      },
                      "required": [
                        "additionalSeats",
                        "seats"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "addOns",
                    "paymentProvider",
                    "subscription"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "operationId": "PutTeamsSubscriptionsByTeamId",
        "description": "Update a plan for the team",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team id concerned by the subscription plan",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "redirectUrl": {
                      "type": "string"
                    },
                    "updateType": {
                      "type": "string",
                      "enum": [
                        "cancelled",
                        "downgraded",
                        "upgraded"
                      ]
                    }
                  },
                  "required": [
                    "updateType",
                    "redirectUrl"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "paymentProvider": {
                    "type": "string"
                  },
                  "plan": {
                    "type": "string"
                  },
                  "interval": {
                    "type": "string"
                  },
                  "credits": {
                    "type": "number"
                  },
                  "seats": {
                    "type": "number"
                  }
                },
                "required": [
                  "paymentProvider",
                  "plan",
                  "interval",
                  "credits"
                ]
              }
            }
          }
        }
      },
      "post": {
        "operationId": "PostTeamsSubscriptionsByTeamId",
        "description": "Subscribe to a plan for the team",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team id concerned by the subscription plan",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "redirectUrl": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "redirectUrl"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "paymentProvider": {
                    "type": "string"
                  },
                  "plan": {
                    "type": "string"
                  },
                  "interval": {
                    "type": "string",
                    "description": "The interval of the plan. If the plan value is \"enterprise\", this field will be ignored."
                  },
                  "credits": {
                    "type": "number",
                    "description": "The number of credits for the plan"
                  },
                  "seats": {
                    "type": "number",
                    "description": "The number of seats for the plan"
                  },
                  "toltReferral": {
                    "type": "string",
                    "description": "The referral code"
                  },
                  "callbackUrl": {
                    "type": "object",
                    "description": "The callback URLs for the payment provider",
                    "properties": {
                      "success": {
                        "type": "string"
                      },
                      "cancel": {
                        "type": "string"
                      }
                    }
                  }
                },
                "required": [
                  "paymentProvider",
                  "plan",
                  "credits",
                  "interval"
                ]
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteTeamsSubscriptionsByTeamId",
        "description": "Cancel a plan for the team",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team id concerned by the subscription plan",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "paymentProvider": {
                    "type": "string"
                  }
                },
                "required": [
                  "paymentProvider"
                ]
              }
            }
          }
        }
      }
    },
    "/teams/{teamId}/subscriptions/customer-portal": {
      "get": {
        "operationId": "GetTeamsSubscriptionsCustomerPortalByTeamId",
        "description": "Get the url of the customer portal",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The teamId to use",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "redirectUrl": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "redirectUrl"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams/{teamId}/subscriptions/seats": {
      "post": {
        "operationId": "PostTeamsSubscriptionsSeatsByTeamId",
        "description": "Add seats to a team subscription plan. If the proration charge requires customer authentication (3D Secure / SCA) or a new payment method, the response includes a `redirectUrl` pointing to the hosted payment page; the client must redirect the user there to complete payment before the seat change takes effect.",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team id concerned by the subscription plan",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "seats": {
                      "type": "number"
                    },
                    "redirectUrl": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "seats"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "paymentProvider": {
                    "type": "string"
                  },
                  "seats": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1000
                  }
                },
                "required": [
                  "paymentProvider",
                  "seats"
                ]
              }
            }
          }
        }
      }
    },
    "/teams/{teamId}/subscriptions/status": {
      "post": {
        "operationId": "PostTeamsSubscriptionsStatusByTeamId",
        "description": "Resume the team subscription plan",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team id concerned by the subscription status",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "action": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "action"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "enum": [
                      "resume"
                    ]
                  }
                },
                "required": [
                  "action"
                ]
              }
            }
          }
        }
      }
    },
    "/teams/{teamId}/oscu/prices": {
      "get": {
        "operationId": "GetTeamsOscuPricesByTeamId",
        "description": "Get the OSCU price details",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team Id to retrieve",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "prices": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "unitAmount": {
                            "type": "number"
                          },
                          "creativeUnits": {
                            "type": "number"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "expires": {
                            "type": "number"
                          }
                        }
                      }
                    }
                  },
                  "required": [
                    "team"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams/{teamId}/oscu/auto-refill": {
      "post": {
        "operationId": "PostTeamsOscuAutoRefillByTeamId",
        "description": "Define the auto-refill settings for a team",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team id concerned by the auto-refill",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "threshold": {
                      "type": "number"
                    },
                    "quantity": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "threshold",
                    "quantity"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "threshold": {
                    "type": "number",
                    "minimum": 1000,
                    "maximum": 10000
                  },
                  "quantity": {
                    "type": "number",
                    "minimum": 1000,
                    "maximum": 1000000
                  }
                },
                "required": [
                  "threshold",
                  "quantity"
                ]
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteTeamsOscuAutoRefillByTeamId",
        "description": "Deactivate the auto-refill for a team",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team id concerned by the auto-refill",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams/{teamId}/oscu": {
      "post": {
        "operationId": "PostTeamsOSCUByTeamId",
        "description": "Buy One Shot Compute Unit (OSCU) for a particular team",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team id concerned by the OSCU purchase",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "redirectUrl": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "redirectUrl"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "callbackUrl": {
                    "additionalProperties": false,
                    "description": "The callback url for the payment provider",
                    "properties": {
                      "cancel": {
                        "type": "string"
                      },
                      "success": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "cancel",
                      "success"
                    ],
                    "type": "object"
                  },
                  "paymentProvider": {
                    "description": "The payment provider for the OSCU purchase",
                    "enum": [
                      "applepay",
                      "scenario",
                      "stripe"
                    ],
                    "type": "string"
                  },
                  "quantity": {
                    "description": "The quantity of OSCU to buy",
                    "maximum": 50000,
                    "minimum": 500,
                    "type": "number"
                  }
                },
                "required": [
                  "paymentProvider",
                  "quantity"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/teams/{teamId}/credit-alert-thresholds": {
      "get": {
        "operationId": "GetTeamsCreditAlertThresholdsByTeamId",
        "description": "Get the credit-alert thresholds for a team (percentage or absolute)",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "thresholds": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "unit": {
                            "type": "string",
                            "enum": [
                              "percent",
                              "absolute"
                            ]
                          },
                          "value": {
                            "type": "number",
                            "minimum": 1
                          },
                          "enabled": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "unit",
                          "value",
                          "enabled"
                        ]
                      }
                    }
                  },
                  "required": [
                    "thresholds"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "operationId": "PutTeamsCreditAlertThresholdsByTeamId",
        "description": "Set the credit-alert thresholds for a team (percentage or absolute)",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "thresholds": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "unit": {
                            "type": "string",
                            "enum": [
                              "percent",
                              "absolute"
                            ]
                          },
                          "value": {
                            "type": "number",
                            "minimum": 1
                          },
                          "enabled": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "unit",
                          "value",
                          "enabled"
                        ]
                      }
                    }
                  },
                  "required": [
                    "thresholds"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "thresholds": {
                    "type": "array",
                    "maxItems": 10,
                    "items": {
                      "type": "object",
                      "properties": {
                        "unit": {
                          "type": "string",
                          "enum": [
                            "percent",
                            "absolute"
                          ]
                        },
                        "value": {
                          "type": "number",
                          "minimum": 1
                        },
                        "enabled": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "unit",
                        "value",
                        "enabled"
                      ]
                    }
                  }
                },
                "required": [
                  "thresholds"
                ]
              }
            }
          }
        }
      }
    },
    "/teams/{teamId}/limits": {
      "get": {
        "operationId": "GetTeamsLimitsByTeamId",
        "description": "Retrieve current limits for a team",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team id to retrieve limits for",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "limits": {
                      "additionalProperties": false,
                      "description": "The actual billing limits values related to the plan",
                      "properties": {
                        "OTPSessions": {
                          "type": "number"
                        },
                        "apiKeys": {
                          "type": "number"
                        },
                        "canvasAssetLayers": {
                          "type": "number"
                        },
                        "canvasAssets": {
                          "type": "number"
                        },
                        "collections": {
                          "type": "number"
                        },
                        "creativeUnits": {
                          "description": "The amount of Compute Units available for the plan",
                          "type": "number"
                        },
                        "defaultSeats": {
                          "type": "number"
                        },
                        "downloadAssets": {
                          "type": "number"
                        },
                        "downloadModel": {
                          "type": "number"
                        },
                        "inferenceBatchSize": {
                          "type": "number"
                        },
                        "maxCooldown": {
                          "description": "The maximum cooldown applied in case of over head",
                          "type": "number"
                        },
                        "maxTrainingDatasets": {
                          "type": "number"
                        },
                        "minCooldown": {
                          "description": "The minimum cooldown applied in case of over head",
                          "type": "number"
                        },
                        "models": {
                          "description": "The maximum models a project can have (train/upload/copy/transfer/...)",
                          "type": "number"
                        },
                        "parallelCustomJobs": {
                          "type": "number"
                        },
                        "parallelInferences": {
                          "type": "number"
                        },
                        "parallelTraining": {
                          "type": "number"
                        },
                        "parallelWorkflowRuns": {
                          "type": "number"
                        },
                        "premiumGenerationSamples": {
                          "type": "number"
                        },
                        "projects": {
                          "description": "The maximum projects a team can have",
                          "type": "number"
                        },
                        "scalingFactor": {
                          "type": "number"
                        },
                        "seats": {
                          "type": "number"
                        },
                        "snapshotsRetention": {
                          "type": "number"
                        },
                        "upload": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "OTPSessions",
                        "apiKeys",
                        "canvasAssetLayers",
                        "canvasAssets",
                        "collections",
                        "creativeUnits",
                        "defaultSeats",
                        "downloadAssets",
                        "downloadModel",
                        "inferenceBatchSize",
                        "maxCooldown",
                        "maxTrainingDatasets",
                        "minCooldown",
                        "models",
                        "parallelCustomJobs",
                        "parallelInferences",
                        "parallelTraining",
                        "parallelWorkflowRuns",
                        "premiumGenerationSamples",
                        "projects",
                        "scalingFactor",
                        "seats",
                        "snapshotsRetention",
                        "upload"
                      ],
                      "type": "object"
                    },
                    "oneShotCreativeUnits": {
                      "description": "The list of one-shot Compute Units\n\nCan be empty if the team has no one-shot Compute Units",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "amount": {
                            "description": "The Compute Units amount bought",
                            "type": "number"
                          },
                          "createdAt": {
                            "description": "The creation date of the Compute Units (buy date)\nISO string",
                            "type": "string"
                          },
                          "expiration": {
                            "description": "The expiration date of the Compute Units\nISO string",
                            "type": "string"
                          },
                          "remaining": {
                            "description": "The remaining Compute Units available",
                            "type": "number"
                          },
                          "updatedAt": {
                            "description": "The last update date of the Compute Units (use date)\nISO string",
                            "type": "string"
                          }
                        },
                        "required": [
                          "amount",
                          "createdAt",
                          "expiration",
                          "remaining",
                          "updatedAt"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "period": {
                      "additionalProperties": false,
                      "description": "The actual billing period start and end dates ISO strings",
                      "properties": {
                        "end": {
                          "type": "string"
                        },
                        "start": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "end",
                        "start"
                      ],
                      "type": "object"
                    },
                    "plan": {
                      "description": "The actual plan of the team",
                      "enum": [
                        "cu-basic",
                        "cu-creator",
                        "cu-max",
                        "cu-pro",
                        "cu-pro-q3-25",
                        "cu-team",
                        "cu-team-v2",
                        "enterprise",
                        "essential",
                        "free",
                        "premium",
                        "pro"
                      ],
                      "type": "string"
                    },
                    "values": {
                      "additionalProperties": false,
                      "description": "The current value for each relevant limit in the billing period",
                      "properties": {
                        "apiKeys": {
                          "type": "number"
                        },
                        "canvasAssets": {
                          "type": "number"
                        },
                        "collections": {
                          "type": "number"
                        },
                        "creativeUnits": {
                          "type": "number"
                        },
                        "projects": {
                          "type": "number"
                        },
                        "seats": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "apiKeys",
                        "canvasAssets",
                        "collections",
                        "creativeUnits",
                        "projects",
                        "seats"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "limits",
                    "oneShotCreativeUnits",
                    "period",
                    "plan",
                    "values"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams/{teamId}/webhook-endpoints": {
      "get": {
        "operationId": "GetTeamWebhookEndpoints",
        "description": "List the team's webhook endpoints",
        "tags": [
          "Teams",
          "Webhooks"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "webhookEndpoints": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "createdAt": {
                            "description": "The date and time the webhook endpoint was created",
                            "type": "string"
                          },
                          "description": {
                            "description": "A description of the webhook endpoint",
                            "type": "string"
                          },
                          "enabled": {
                            "description": "Whether the webhook is enabled",
                            "type": "boolean"
                          },
                          "enabledEvents": {
                            "description": "The events that trigger the webhook. ['*'] indicates that all events are enabled",
                            "items": {
                              "description": "Every event a webhook endpoint can subscribe to: a project endpoint takes the\njob lifecycle events, a team endpoint takes the alert events.",
                              "enum": [
                                "*",
                                "asset.download.completed",
                                "asset.download.created",
                                "asset.download.failed",
                                "generation.completed",
                                "generation.created",
                                "generation.failed",
                                "inference.cancelled",
                                "inference.completed",
                                "inference.created",
                                "inference.failed",
                                "model.download.completed",
                                "model.download.created",
                                "model.download.failed",
                                "model.training.cancelled",
                                "model.training.completed",
                                "model.training.failed",
                                "model.training.started",
                                "team.credit.threshold.crossed"
                              ],
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "id": {
                            "description": "The ID of the webhook endpoint",
                            "type": "string"
                          },
                          "nbFailedCalls": {
                            "description": "The number of calls to the webhook endpoint that have failed",
                            "type": "number"
                          },
                          "nbTotalCalls": {
                            "description": "The number of calls to the webhook endpoint",
                            "type": "number"
                          },
                          "ownerId": {
                            "description": "The ID of the owner of the webhook endpoint: a project id for job\nlifecycle events, a team id for alert events",
                            "type": "string"
                          },
                          "ownerType": {
                            "description": "Whether the owner is a project or a team. Required to tell them apart: a\nproject created before the team/project split shares its team's id",
                            "enum": [
                              "project",
                              "team"
                            ],
                            "type": "string"
                          },
                          "updatedAt": {
                            "description": "The date and time the webhook endpoint was updated",
                            "type": "string"
                          },
                          "url": {
                            "description": "The URL of the webhook endpoint",
                            "type": "string"
                          }
                        },
                        "required": [
                          "createdAt",
                          "enabled",
                          "enabledEvents",
                          "id",
                          "nbFailedCalls",
                          "nbTotalCalls",
                          "ownerId",
                          "ownerType",
                          "updatedAt",
                          "url"
                        ],
                        "type": "object"
                      },
                      "description": "A list of the team webhooks"
                    }
                  },
                  "required": [
                    "webhookEndpoints"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "post": {
        "operationId": "PostWebhookEndpoints",
        "description": "Register a new webhook endpoint for the team, at most 10 of them. The response carries the secret, which is never returned again",
        "tags": [
          "Teams",
          "Webhooks"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "webhookEndpoint": {
                      "additionalProperties": false,
                      "description": "The creation response, and the only one that carries the secret: it is\ngenerated once and never returned again, so a client that loses it has to\nrecreate the endpoint.",
                      "properties": {
                        "createdAt": {
                          "description": "The date and time the webhook endpoint was created",
                          "type": "string"
                        },
                        "description": {
                          "description": "A description of the webhook endpoint",
                          "type": "string"
                        },
                        "enabled": {
                          "description": "Whether the webhook is enabled",
                          "type": "boolean"
                        },
                        "enabledEvents": {
                          "description": "The events that trigger the webhook. ['*'] indicates that all events are enabled",
                          "items": {
                            "description": "Every event a webhook endpoint can subscribe to: a project endpoint takes the\njob lifecycle events, a team endpoint takes the alert events.",
                            "enum": [
                              "*",
                              "asset.download.completed",
                              "asset.download.created",
                              "asset.download.failed",
                              "generation.completed",
                              "generation.created",
                              "generation.failed",
                              "inference.cancelled",
                              "inference.completed",
                              "inference.created",
                              "inference.failed",
                              "model.download.completed",
                              "model.download.created",
                              "model.download.failed",
                              "model.training.cancelled",
                              "model.training.completed",
                              "model.training.failed",
                              "model.training.started",
                              "team.credit.threshold.crossed"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "id": {
                          "description": "The ID of the webhook endpoint",
                          "type": "string"
                        },
                        "nbFailedCalls": {
                          "description": "The number of calls to the webhook endpoint that have failed",
                          "type": "number"
                        },
                        "nbTotalCalls": {
                          "description": "The number of calls to the webhook endpoint",
                          "type": "number"
                        },
                        "ownerId": {
                          "description": "The ID of the owner of the webhook endpoint: a project id for job\nlifecycle events, a team id for alert events",
                          "type": "string"
                        },
                        "ownerType": {
                          "description": "Whether the owner is a project or a team. Required to tell them apart: a\nproject created before the team/project split shares its team's id",
                          "enum": [
                            "project",
                            "team"
                          ],
                          "type": "string"
                        },
                        "secret": {
                          "description": "The endpoint's secret, used to generate webhook signatures",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The date and time the webhook endpoint was updated",
                          "type": "string"
                        },
                        "url": {
                          "description": "The URL of the webhook endpoint",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "enabled",
                        "enabledEvents",
                        "id",
                        "nbFailedCalls",
                        "nbTotalCalls",
                        "ownerId",
                        "ownerType",
                        "secret",
                        "updatedAt",
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "webhookEndpoint"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "description": {
                    "description": "A description of the webhook endpoint",
                    "type": "string"
                  },
                  "enabledEvents": {
                    "description": "The events that trigger the webhook. ['*'] indicates that all events are enabled",
                    "items": {
                      "description": "Every event a webhook endpoint can subscribe to: a project endpoint takes the\njob lifecycle events, a team endpoint takes the alert events.",
                      "enum": [
                        "*",
                        "asset.download.completed",
                        "asset.download.created",
                        "asset.download.failed",
                        "generation.completed",
                        "generation.created",
                        "generation.failed",
                        "inference.cancelled",
                        "inference.completed",
                        "inference.created",
                        "inference.failed",
                        "model.download.completed",
                        "model.download.created",
                        "model.download.failed",
                        "model.training.cancelled",
                        "model.training.completed",
                        "model.training.failed",
                        "model.training.started",
                        "team.credit.threshold.crossed"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "url": {
                    "description": "The URL of the webhook endpoint. Must be an absolute http(s) URL",
                    "type": "string"
                  }
                },
                "required": [
                  "enabledEvents",
                  "url"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/teams/{teamId}/webhook-endpoints/{webhookEndpointId}": {
      "put": {
        "operationId": "PutWebhookEndpointsById",
        "description": "Update a particular webhook endpoint for a team",
        "tags": [
          "Teams",
          "Webhooks"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team Id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "webhookEndpointId",
            "in": "path",
            "required": true,
            "description": "The webhook endpoint to update",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "webhookEndpoint": {
                      "additionalProperties": false,
                      "properties": {
                        "createdAt": {
                          "description": "The date and time the webhook endpoint was created",
                          "type": "string"
                        },
                        "description": {
                          "description": "A description of the webhook endpoint",
                          "type": "string"
                        },
                        "enabled": {
                          "description": "Whether the webhook is enabled",
                          "type": "boolean"
                        },
                        "enabledEvents": {
                          "description": "The events that trigger the webhook. ['*'] indicates that all events are enabled",
                          "items": {
                            "description": "Every event a webhook endpoint can subscribe to: a project endpoint takes the\njob lifecycle events, a team endpoint takes the alert events.",
                            "enum": [
                              "*",
                              "asset.download.completed",
                              "asset.download.created",
                              "asset.download.failed",
                              "generation.completed",
                              "generation.created",
                              "generation.failed",
                              "inference.cancelled",
                              "inference.completed",
                              "inference.created",
                              "inference.failed",
                              "model.download.completed",
                              "model.download.created",
                              "model.download.failed",
                              "model.training.cancelled",
                              "model.training.completed",
                              "model.training.failed",
                              "model.training.started",
                              "team.credit.threshold.crossed"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "id": {
                          "description": "The ID of the webhook endpoint",
                          "type": "string"
                        },
                        "nbFailedCalls": {
                          "description": "The number of calls to the webhook endpoint that have failed",
                          "type": "number"
                        },
                        "nbTotalCalls": {
                          "description": "The number of calls to the webhook endpoint",
                          "type": "number"
                        },
                        "ownerId": {
                          "description": "The ID of the owner of the webhook endpoint: a project id for job\nlifecycle events, a team id for alert events",
                          "type": "string"
                        },
                        "ownerType": {
                          "description": "Whether the owner is a project or a team. Required to tell them apart: a\nproject created before the team/project split shares its team's id",
                          "enum": [
                            "project",
                            "team"
                          ],
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The date and time the webhook endpoint was updated",
                          "type": "string"
                        },
                        "url": {
                          "description": "The URL of the webhook endpoint",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "enabled",
                        "enabledEvents",
                        "id",
                        "nbFailedCalls",
                        "nbTotalCalls",
                        "ownerId",
                        "ownerType",
                        "updatedAt",
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "webhookEndpoint"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "description": {
                    "description": "A description of the webhook endpoint",
                    "type": "string"
                  },
                  "enabled": {
                    "description": "Whether the webhook is enabled",
                    "type": "boolean"
                  },
                  "enabledEvents": {
                    "description": "The events that trigger the webhook. ['*'] indicates that all events are enabled",
                    "items": {
                      "description": "Every event a webhook endpoint can subscribe to: a project endpoint takes the\njob lifecycle events, a team endpoint takes the alert events.",
                      "enum": [
                        "*",
                        "asset.download.completed",
                        "asset.download.created",
                        "asset.download.failed",
                        "generation.completed",
                        "generation.created",
                        "generation.failed",
                        "inference.cancelled",
                        "inference.completed",
                        "inference.created",
                        "inference.failed",
                        "model.download.completed",
                        "model.download.created",
                        "model.download.failed",
                        "model.training.cancelled",
                        "model.training.completed",
                        "model.training.failed",
                        "model.training.started",
                        "team.credit.threshold.crossed"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "url": {
                    "description": "The URL of the webhook endpoint. Must be an absolute http(s) URL",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteWebhookEndpointById",
        "description": "Delete a particular webhook endpoint by its Id",
        "tags": [
          "Teams",
          "Webhooks"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team Id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "webhookEndpointId",
            "in": "path",
            "required": true,
            "description": "The webhook endpoint to delete",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams/{teamId}/webhook-endpoints/{webhookEndpointId}/events": {
      "get": {
        "operationId": "GetTeamWebhookEndpointEvents",
        "description": "List the delivery events of one of the team's webhook endpoints",
        "tags": [
          "Teams",
          "Webhooks"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team Id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "webhookEndpointId",
            "in": "path",
            "required": true,
            "description": "The webhook endpoint whose delivery events to list",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "required": false,
            "description": "A token you received in a previous request to query the next page of items",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "endpointId": {
                            "type": "string"
                          },
                          "id": {
                            "type": "string"
                          },
                          "status": {
                            "enum": [
                              "created",
                              "failed",
                              "retrying",
                              "success"
                            ],
                            "type": "string"
                          },
                          "type": {
                            "description": "Every event a webhook endpoint can subscribe to: a project endpoint takes the\njob lifecycle events, a team endpoint takes the alert events.",
                            "enum": [
                              "*",
                              "asset.download.completed",
                              "asset.download.created",
                              "asset.download.failed",
                              "generation.completed",
                              "generation.created",
                              "generation.failed",
                              "inference.cancelled",
                              "inference.completed",
                              "inference.created",
                              "inference.failed",
                              "model.download.completed",
                              "model.download.created",
                              "model.download.failed",
                              "model.training.cancelled",
                              "model.training.completed",
                              "model.training.failed",
                              "model.training.started",
                              "team.credit.threshold.crossed"
                            ],
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "endpointId",
                          "id",
                          "status",
                          "type",
                          "updatedAt"
                        ],
                        "type": "object"
                      },
                      "description": "A list of the team webhook events"
                    },
                    "nextPaginationToken": {
                      "type": "string",
                      "description": "A token to query the next page of events"
                    }
                  },
                  "required": [
                    "items"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams/{teamId}/webhook-endpoints/{webhookEndpointId}/events/{eventId}": {
      "get": {
        "operationId": "GetTeamWebhookEvent",
        "description": "Retrieve one delivery event of one of the team's webhook endpoints",
        "tags": [
          "Teams",
          "Webhooks"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team Id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "webhookEndpointId",
            "in": "path",
            "required": true,
            "description": "The webhook endpoint that delivered the event",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "eventId",
            "in": "path",
            "required": true,
            "description": "The ID of the webhook delivery event",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "webhookEvent": {
                      "additionalProperties": false,
                      "properties": {
                        "attempts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "responseStatusCode": {
                                "type": "number"
                              },
                              "sentAt": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "responseStatusCode",
                              "sentAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "endpointId": {
                          "type": "string"
                        },
                        "id": {
                          "type": "string"
                        },
                        "payload": {
                          "additionalProperties": false,
                          "type": "object"
                        },
                        "sentAt": {
                          "type": "string"
                        },
                        "status": {
                          "enum": [
                            "created",
                            "failed",
                            "retrying",
                            "success"
                          ],
                          "type": "string"
                        },
                        "type": {
                          "description": "Every event a webhook endpoint can subscribe to: a project endpoint takes the\njob lifecycle events, a team endpoint takes the alert events.",
                          "enum": [
                            "*",
                            "asset.download.completed",
                            "asset.download.created",
                            "asset.download.failed",
                            "generation.completed",
                            "generation.created",
                            "generation.failed",
                            "inference.cancelled",
                            "inference.completed",
                            "inference.created",
                            "inference.failed",
                            "model.download.completed",
                            "model.download.created",
                            "model.download.failed",
                            "model.training.cancelled",
                            "model.training.completed",
                            "model.training.failed",
                            "model.training.started",
                            "team.credit.threshold.crossed"
                          ],
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "attempts",
                        "createdAt",
                        "endpointId",
                        "id",
                        "payload",
                        "sentAt",
                        "status",
                        "type",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "webhookEvent"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams/{teamId}/byok/credentials": {
      "get": {
        "operationId": "GetTeamsByTeamIdByokCredentials",
        "description": "List all BYOK providers with credential status for a team",
        "tags": [
          "BYOK"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "providers": {
                      "type": "array",
                      "description": "Team-level BYOK providers with credential status",
                      "items": {
                        "type": "object"
                      }
                    },
                    "projectCredentials": {
                      "type": "array",
                      "description": "Project-scoped credential overrides (each entry includes projectId and scope)",
                      "items": {
                        "type": "object"
                      }
                    }
                  },
                  "required": [
                    "providers",
                    "projectCredentials"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams/{teamId}/byok/credentials/{providerId}": {
      "put": {
        "operationId": "PutTeamsByTeamIdByokCredentialsProviderId",
        "description": "Set or update BYOK credentials for a provider. Pass ?projectId to set a project-level override.",
        "tags": [
          "BYOK"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "providerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "Scopes the credential to a single project. Omit it to address the team-wide credential, which applies to every project without one of its own.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "credential": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "credential"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "delete": {
        "operationId": "DeleteTeamsByTeamIdByokCredentialsProviderId",
        "description": "Remove BYOK credentials for a provider. Pass ?projectId to remove a project-level override.",
        "tags": [
          "BYOK"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "providerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "Scopes the credential to a single project. Omit it to address the team-wide credential, which applies to every project without one of its own.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams/{teamId}/instructions": {
      "get": {
        "operationId": "GetTeamInstructions",
        "description": "Get the team's assistant instructions (markdown). Returns 404 if not set. Any team member can read.",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "memory": {
                      "additionalProperties": false,
                      "description": "Public JSON shape returned by GET endpoints",
                      "properties": {
                        "content": {
                          "description": "Markdown content of the memory",
                          "type": "string"
                        },
                        "createdAt": {
                          "description": "ISO 8601 timestamp when the memory was first written",
                          "type": "string"
                        },
                        "id": {
                          "description": "The memory ID — deterministic from scope + parent IDs (example: \"mem_team_team_abc\")",
                          "type": "string"
                        },
                        "sizeBytes": {
                          "description": "UTF-8 byte length of the content — used for quota enforcement",
                          "type": "number"
                        },
                        "updatedAt": {
                          "description": "ISO 8601 timestamp when the memory was last updated",
                          "type": "string"
                        },
                        "updatedBy": {
                          "description": "The userId of the last writer — useful for audit/UI",
                          "type": "string"
                        }
                      },
                      "required": [
                        "content",
                        "createdAt",
                        "id",
                        "sizeBytes",
                        "updatedAt",
                        "updatedBy"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "memory"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "operationId": "PutTeamInstructions",
        "description": "Set the team's assistant instructions (markdown, max 50KB). Set content to null to clear. Team admins only.",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "memory": {
                      "additionalProperties": false,
                      "description": "Public JSON shape returned by GET endpoints",
                      "properties": {
                        "content": {
                          "description": "Markdown content of the memory",
                          "type": "string"
                        },
                        "createdAt": {
                          "description": "ISO 8601 timestamp when the memory was first written",
                          "type": "string"
                        },
                        "id": {
                          "description": "The memory ID — deterministic from scope + parent IDs (example: \"mem_team_team_abc\")",
                          "type": "string"
                        },
                        "sizeBytes": {
                          "description": "UTF-8 byte length of the content — used for quota enforcement",
                          "type": "number"
                        },
                        "updatedAt": {
                          "description": "ISO 8601 timestamp when the memory was last updated",
                          "type": "string"
                        },
                        "updatedBy": {
                          "description": "The userId of the last writer — useful for audit/UI",
                          "type": "string"
                        }
                      },
                      "required": [
                        "content",
                        "createdAt",
                        "id",
                        "sizeBytes",
                        "updatedAt",
                        "updatedBy"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Request body for PUT memory endpoints.",
                "properties": {
                  "content": {
                    "description": "Markdown content of the memory. Set to null to clear.\nMax size depends on the scope (20-50 KB).",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/teams/{teamId}/ip-filters": {
      "get": {
        "operationId": "GetTeamsByTeamIdIpFilters",
        "description": "List the built-in and custom IP-detection filters available to a team, with their enabled state",
        "tags": [
          "IP Filters"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team whose IP-detection filters to list",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "filters": {
                      "type": "array",
                      "description": "Built-in and custom IP-detection filters for the team, each with its enabled state",
                      "items": {
                        "type": "object"
                      }
                    }
                  },
                  "required": [
                    "filters"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "post": {
        "operationId": "PostTeamsByTeamIdIpFilters",
        "description": "Create a custom IP-detection filter for a team (built-in filters are toggled via PUT /teams/{teamId}/ip-filters/{filterId})",
        "tags": [
          "IP Filters"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team the custom filter belongs to",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "filter": {
                      "type": "object",
                      "description": "The created custom filter, including its enabled state"
                    }
                  },
                  "required": [
                    "filter"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Body for POST /teams/{teamId}/ip-filters",
                "properties": {
                  "category": {
                    "description": "Filter category; use \"custom\" for customer-authored filters",
                    "enum": [
                      "artist-style",
                      "brand-trademark",
                      "celebrity-likeness",
                      "custom",
                      "fictional-character"
                    ],
                    "type": "string"
                  },
                  "enabled": {
                    "description": "Whether the filter is active",
                    "type": "boolean"
                  },
                  "instruction": {
                    "description": "Natural-language detection instruction (required for custom filters)",
                    "maxLength": 2000,
                    "minLength": 1,
                    "type": "string"
                  },
                  "name": {
                    "description": "Display name for the filter",
                    "type": "string"
                  },
                  "sourceAssetIds": {
                    "description": "Optional reference assets used only to generate the instruction",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "category",
                  "name"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/teams/{teamId}/ip-filters/draft-instruction": {
      "post": {
        "operationId": "PostTeamsByTeamIdIpFiltersDraftInstruction",
        "description": "Draft a custom IP-detection filter instruction from reference assets (the caller must have read access to every asset)",
        "tags": [
          "IP Filters"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team the drafted filter would belong to",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "instruction": {
                      "type": "string",
                      "description": "Drafted natural-language detection instruction derived from the reference assets"
                    }
                  },
                  "required": [
                    "instruction"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Body for POST /teams/{teamId}/ip-filters/draft-instruction",
                "properties": {
                  "assetIds": {
                    "description": "Reference assets whose imagery seeds the drafted detection instruction",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "assetIds"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/teams/{teamId}/ip-filters/{filterId}": {
      "put": {
        "operationId": "PutTeamsByTeamIdIpFiltersFilterId",
        "description": "Enable, disable, or override a built-in or custom IP-detection filter for a team",
        "tags": [
          "IP Filters"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team the filter belongs to",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filterId",
            "in": "path",
            "required": true,
            "description": "The built-in or custom filter to update",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "filter": {
                      "type": "object",
                      "description": "The updated filter, including its enabled state"
                    }
                  },
                  "required": [
                    "filter"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Body for PUT /teams/{teamId}/ip-filters/{filterId}",
                "properties": {
                  "enabled": {
                    "description": "Whether the filter is active",
                    "type": "boolean"
                  },
                  "instruction": {
                    "description": "Natural-language detection instruction",
                    "maxLength": 2000,
                    "minLength": 1,
                    "type": "string"
                  },
                  "name": {
                    "description": "Display name for the filter",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteTeamsByTeamIdIpFiltersFilterId",
        "description": "Delete a custom IP-detection filter for a team",
        "tags": [
          "IP Filters"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team the filter belongs to",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filterId",
            "in": "path",
            "required": true,
            "description": "The custom filter to delete",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean",
                      "description": "True when the filter was deleted"
                    }
                  },
                  "required": [
                    "deleted"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams/{teamId}/brief": {
      "get": {
        "operationId": "GetTeamBrief",
        "description": "Get the team's Quality Gate brief",
        "tags": [
          "Quality Gate"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "brief": {
                      "additionalProperties": false,
                      "description": "A brand-style / project-rules / campaign-context brief stored at one scope.",
                      "properties": {
                        "body": {
                          "description": "Free-text brief: brand style, rules, campaign context",
                          "type": "string"
                        },
                        "createdAt": {
                          "description": "ISO-8601 creation timestamp",
                          "type": "string"
                        },
                        "createdBy": {
                          "description": "User id that last wrote the brief",
                          "type": "string"
                        },
                        "enabled": {
                          "description": "Whether the brief is applied during verification",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "Stable identifier derived from level + scopeId",
                          "type": "string"
                        },
                        "level": {
                          "description": "Scope this brief applies to: team or project",
                          "enum": [
                            "project",
                            "team"
                          ],
                          "type": "string"
                        },
                        "referenceAssetIds": {
                          "description": "Reference assets the verifier compares the image against",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "scopeId": {
                          "description": "The id of the team or project that owns this brief",
                          "type": "string"
                        },
                        "sensitivity": {
                          "description": "Threshold strictness applied when verifying against this scope",
                          "enum": [
                            "high",
                            "low",
                            "medium"
                          ],
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "ISO-8601 last-update timestamp",
                          "type": "string"
                        }
                      },
                      "required": [
                        "body",
                        "createdAt",
                        "createdBy",
                        "enabled",
                        "id",
                        "level",
                        "referenceAssetIds",
                        "scopeId",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "brief"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "operationId": "PutTeamBrief",
        "description": "Create or update the team's Quality Gate brief",
        "tags": [
          "Quality Gate"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "brief": {
                      "additionalProperties": false,
                      "description": "A brand-style / project-rules / campaign-context brief stored at one scope.",
                      "properties": {
                        "body": {
                          "description": "Free-text brief: brand style, rules, campaign context",
                          "type": "string"
                        },
                        "createdAt": {
                          "description": "ISO-8601 creation timestamp",
                          "type": "string"
                        },
                        "createdBy": {
                          "description": "User id that last wrote the brief",
                          "type": "string"
                        },
                        "enabled": {
                          "description": "Whether the brief is applied during verification",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "Stable identifier derived from level + scopeId",
                          "type": "string"
                        },
                        "level": {
                          "description": "Scope this brief applies to: team or project",
                          "enum": [
                            "project",
                            "team"
                          ],
                          "type": "string"
                        },
                        "referenceAssetIds": {
                          "description": "Reference assets the verifier compares the image against",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "scopeId": {
                          "description": "The id of the team or project that owns this brief",
                          "type": "string"
                        },
                        "sensitivity": {
                          "description": "Threshold strictness applied when verifying against this scope",
                          "enum": [
                            "high",
                            "low",
                            "medium"
                          ],
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "ISO-8601 last-update timestamp",
                          "type": "string"
                        }
                      },
                      "required": [
                        "body",
                        "createdAt",
                        "createdBy",
                        "enabled",
                        "id",
                        "level",
                        "referenceAssetIds",
                        "scopeId",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "brief"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Body for PUT /projects/{projectId}/brief and /teams/{teamId}/brief.",
                "properties": {
                  "body": {
                    "description": "Free-text brief content",
                    "maxLength": 8000,
                    "minLength": 1,
                    "type": "string"
                  },
                  "enabled": {
                    "description": "Whether the brief is applied during verification (default true)",
                    "type": "boolean"
                  },
                  "referenceAssetIds": {
                    "description": "Reference assets the verifier compares against (max 10). Send [] to clear.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "sensitivity": {
                    "description": "Threshold strictness stored for this scope: low, medium, or high. Applied\nto verifications unless the verify call passes its own sensitivity.",
                    "enum": [
                      "high",
                      "low",
                      "medium"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "body"
                ],
                "type": "object"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteTeamBrief",
        "description": "Delete the team's Quality Gate brief",
        "tags": [
          "Quality Gate"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "deleted"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams/{teamId}/watermark": {
      "get": {
        "operationId": "GetTeamWatermark",
        "description": "Get the team's forced watermark configuration",
        "tags": [
          "Watermark"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "watermark": {
                      "additionalProperties": false,
                      "description": "Forced-watermark configuration stored at one scope.",
                      "properties": {
                        "createdAt": {
                          "description": "ISO-8601 creation timestamp",
                          "type": "string"
                        },
                        "createdBy": {
                          "description": "User id that last wrote the configuration",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "Set when the configuration has been deleted.",
                          "type": "string"
                        },
                        "enabled": {
                          "description": "Whether the watermark is enforced on assets generated in this scope. A\ndisabled project configuration falls back to its team's.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "Stable identifier derived from level + scopeId",
                          "type": "string"
                        },
                        "level": {
                          "description": "Scope this configuration applies to: team or project",
                          "enum": [
                            "project",
                            "team"
                          ],
                          "type": "string"
                        },
                        "logoIsOpaque": {
                          "description": "Whether the stored logo has no transparency at all.\n\nRecorded at upload so the UI can warn without decoding the image again: an\nopaque logo draws its whole rectangle, which a rotated tiled mark turns\ninto a very visible diamond.",
                          "type": "boolean"
                        },
                        "logoKey": {
                          "description": "Where the uploaded logo lives, when one is set.",
                          "type": "string"
                        },
                        "opacity": {
                          "description": "Mark opacity, 0.05 (barely visible) to 1 (opaque)",
                          "type": "number"
                        },
                        "placement": {
                          "description": "Where the mark sits on the image",
                          "enum": [
                            "bottom-left",
                            "bottom-right",
                            "center",
                            "tiled",
                            "top-left",
                            "top-right"
                          ],
                          "type": "string"
                        },
                        "rotation": {
                          "description": "Mark rotation in degrees, -90 to 90. 0 is horizontal.",
                          "type": "number"
                        },
                        "scale": {
                          "description": "Mark width as a fraction of the image width",
                          "type": "number"
                        },
                        "scopeId": {
                          "description": "The id of the team or project that owns this configuration",
                          "type": "string"
                        },
                        "spacing": {
                          "description": "Gap between repetitions, as a fraction of the mark's own size. Tiled\nplacement only; 0 repeats the mark edge to edge.",
                          "type": "number"
                        },
                        "text": {
                          "description": "Text rendered as the mark, when no logo is set",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "ISO-8601 last-update timestamp",
                          "type": "string"
                        },
                        "version": {
                          "description": "Bumped on every write.",
                          "type": "number"
                        }
                      },
                      "required": [
                        "createdAt",
                        "createdBy",
                        "enabled",
                        "id",
                        "level",
                        "opacity",
                        "placement",
                        "rotation",
                        "scale",
                        "scopeId",
                        "spacing",
                        "updatedAt",
                        "version"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "watermark"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "operationId": "PutTeamWatermark",
        "description": "Create or update the team's forced watermark configuration",
        "tags": [
          "Watermark"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "watermark": {
                      "additionalProperties": false,
                      "description": "Forced-watermark configuration stored at one scope.",
                      "properties": {
                        "createdAt": {
                          "description": "ISO-8601 creation timestamp",
                          "type": "string"
                        },
                        "createdBy": {
                          "description": "User id that last wrote the configuration",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "Set when the configuration has been deleted.",
                          "type": "string"
                        },
                        "enabled": {
                          "description": "Whether the watermark is enforced on assets generated in this scope. A\ndisabled project configuration falls back to its team's.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "Stable identifier derived from level + scopeId",
                          "type": "string"
                        },
                        "level": {
                          "description": "Scope this configuration applies to: team or project",
                          "enum": [
                            "project",
                            "team"
                          ],
                          "type": "string"
                        },
                        "logoIsOpaque": {
                          "description": "Whether the stored logo has no transparency at all.\n\nRecorded at upload so the UI can warn without decoding the image again: an\nopaque logo draws its whole rectangle, which a rotated tiled mark turns\ninto a very visible diamond.",
                          "type": "boolean"
                        },
                        "logoKey": {
                          "description": "Where the uploaded logo lives, when one is set.",
                          "type": "string"
                        },
                        "opacity": {
                          "description": "Mark opacity, 0.05 (barely visible) to 1 (opaque)",
                          "type": "number"
                        },
                        "placement": {
                          "description": "Where the mark sits on the image",
                          "enum": [
                            "bottom-left",
                            "bottom-right",
                            "center",
                            "tiled",
                            "top-left",
                            "top-right"
                          ],
                          "type": "string"
                        },
                        "rotation": {
                          "description": "Mark rotation in degrees, -90 to 90. 0 is horizontal.",
                          "type": "number"
                        },
                        "scale": {
                          "description": "Mark width as a fraction of the image width",
                          "type": "number"
                        },
                        "scopeId": {
                          "description": "The id of the team or project that owns this configuration",
                          "type": "string"
                        },
                        "spacing": {
                          "description": "Gap between repetitions, as a fraction of the mark's own size. Tiled\nplacement only; 0 repeats the mark edge to edge.",
                          "type": "number"
                        },
                        "text": {
                          "description": "Text rendered as the mark, when no logo is set",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "ISO-8601 last-update timestamp",
                          "type": "string"
                        },
                        "version": {
                          "description": "Bumped on every write.",
                          "type": "number"
                        }
                      },
                      "required": [
                        "createdAt",
                        "createdBy",
                        "enabled",
                        "id",
                        "level",
                        "opacity",
                        "placement",
                        "rotation",
                        "scale",
                        "scopeId",
                        "spacing",
                        "updatedAt",
                        "version"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "watermark"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Body for PUT /teams/{teamId}/watermark and PUT /projects/{projectId}/watermark.",
                "properties": {
                  "enabled": {
                    "description": "Whether the watermark is enforced on assets generated in this scope. A\ndisabled project configuration falls back to its team's.",
                    "type": "boolean"
                  },
                  "opacity": {
                    "default": 0.25,
                    "description": "Mark opacity, 0.05 (barely visible) to 1 (opaque)",
                    "maximum": 1,
                    "minimum": 0.05,
                    "type": "number"
                  },
                  "placement": {
                    "default": "tiled",
                    "description": "Where the mark sits on the image",
                    "enum": [
                      "bottom-left",
                      "bottom-right",
                      "center",
                      "tiled",
                      "top-left",
                      "top-right"
                    ],
                    "type": "string"
                  },
                  "rotation": {
                    "default": 0,
                    "description": "Mark rotation in degrees. 0 is horizontal, negative tilts it up.",
                    "maximum": 90,
                    "minimum": -90,
                    "type": "number"
                  },
                  "scale": {
                    "default": 0.2,
                    "description": "Mark width as a fraction of the image width",
                    "maximum": 1,
                    "minimum": 0.05,
                    "type": "number"
                  },
                  "spacing": {
                    "default": 0,
                    "description": "Gap between repetitions, as a fraction of the mark's own size. Only drawn\nfor the tiled placement; 0 repeats the mark edge to edge.",
                    "maximum": 2,
                    "minimum": 0,
                    "type": "number"
                  },
                  "text": {
                    "description": "Text rendered as the mark. Ignored while a logo is set.",
                    "maxLength": 64,
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "enabled"
                ],
                "type": "object"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteTeamWatermark",
        "description": "Delete the team's forced watermark configuration",
        "tags": [
          "Watermark"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "deleted"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams/{teamId}/watermark/logo": {
      "put": {
        "operationId": "PutTeamWatermarkLogo",
        "description": "Upload the team's watermark logo, used as the mark instead of its text",
        "tags": [
          "Watermark"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "watermark": {
                      "additionalProperties": false,
                      "description": "Forced-watermark configuration stored at one scope.",
                      "properties": {
                        "createdAt": {
                          "description": "ISO-8601 creation timestamp",
                          "type": "string"
                        },
                        "createdBy": {
                          "description": "User id that last wrote the configuration",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "Set when the configuration has been deleted.",
                          "type": "string"
                        },
                        "enabled": {
                          "description": "Whether the watermark is enforced on assets generated in this scope. A\ndisabled project configuration falls back to its team's.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "Stable identifier derived from level + scopeId",
                          "type": "string"
                        },
                        "level": {
                          "description": "Scope this configuration applies to: team or project",
                          "enum": [
                            "project",
                            "team"
                          ],
                          "type": "string"
                        },
                        "logoIsOpaque": {
                          "description": "Whether the stored logo has no transparency at all.\n\nRecorded at upload so the UI can warn without decoding the image again: an\nopaque logo draws its whole rectangle, which a rotated tiled mark turns\ninto a very visible diamond.",
                          "type": "boolean"
                        },
                        "logoKey": {
                          "description": "Where the uploaded logo lives, when one is set.",
                          "type": "string"
                        },
                        "opacity": {
                          "description": "Mark opacity, 0.05 (barely visible) to 1 (opaque)",
                          "type": "number"
                        },
                        "placement": {
                          "description": "Where the mark sits on the image",
                          "enum": [
                            "bottom-left",
                            "bottom-right",
                            "center",
                            "tiled",
                            "top-left",
                            "top-right"
                          ],
                          "type": "string"
                        },
                        "rotation": {
                          "description": "Mark rotation in degrees, -90 to 90. 0 is horizontal.",
                          "type": "number"
                        },
                        "scale": {
                          "description": "Mark width as a fraction of the image width",
                          "type": "number"
                        },
                        "scopeId": {
                          "description": "The id of the team or project that owns this configuration",
                          "type": "string"
                        },
                        "spacing": {
                          "description": "Gap between repetitions, as a fraction of the mark's own size. Tiled\nplacement only; 0 repeats the mark edge to edge.",
                          "type": "number"
                        },
                        "text": {
                          "description": "Text rendered as the mark, when no logo is set",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "ISO-8601 last-update timestamp",
                          "type": "string"
                        },
                        "version": {
                          "description": "Bumped on every write.",
                          "type": "number"
                        }
                      },
                      "required": [
                        "createdAt",
                        "createdBy",
                        "enabled",
                        "id",
                        "level",
                        "opacity",
                        "placement",
                        "rotation",
                        "scale",
                        "scopeId",
                        "spacing",
                        "updatedAt",
                        "version"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "watermark"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Body for PUT /teams/{teamId}/watermark/logo and\nPUT /projects/{projectId}/watermark/logo.",
                "properties": {
                  "logo": {
                    "description": "The logo image, base64-encoded, at most 1 MB and 4 megapixels once decoded.\nPNG, JPEG and WebP are accepted; SVG is refused. Stored as PNG.",
                    "type": "string"
                  }
                },
                "required": [
                  "logo"
                ],
                "type": "object"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteTeamWatermarkLogo",
        "description": "Remove the team's watermark logo, falling back to its configured text",
        "tags": [
          "Watermark"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "watermark": {
                      "additionalProperties": false,
                      "description": "Forced-watermark configuration stored at one scope.",
                      "properties": {
                        "createdAt": {
                          "description": "ISO-8601 creation timestamp",
                          "type": "string"
                        },
                        "createdBy": {
                          "description": "User id that last wrote the configuration",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "Set when the configuration has been deleted.",
                          "type": "string"
                        },
                        "enabled": {
                          "description": "Whether the watermark is enforced on assets generated in this scope. A\ndisabled project configuration falls back to its team's.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "Stable identifier derived from level + scopeId",
                          "type": "string"
                        },
                        "level": {
                          "description": "Scope this configuration applies to: team or project",
                          "enum": [
                            "project",
                            "team"
                          ],
                          "type": "string"
                        },
                        "logoIsOpaque": {
                          "description": "Whether the stored logo has no transparency at all.\n\nRecorded at upload so the UI can warn without decoding the image again: an\nopaque logo draws its whole rectangle, which a rotated tiled mark turns\ninto a very visible diamond.",
                          "type": "boolean"
                        },
                        "logoKey": {
                          "description": "Where the uploaded logo lives, when one is set.",
                          "type": "string"
                        },
                        "opacity": {
                          "description": "Mark opacity, 0.05 (barely visible) to 1 (opaque)",
                          "type": "number"
                        },
                        "placement": {
                          "description": "Where the mark sits on the image",
                          "enum": [
                            "bottom-left",
                            "bottom-right",
                            "center",
                            "tiled",
                            "top-left",
                            "top-right"
                          ],
                          "type": "string"
                        },
                        "rotation": {
                          "description": "Mark rotation in degrees, -90 to 90. 0 is horizontal.",
                          "type": "number"
                        },
                        "scale": {
                          "description": "Mark width as a fraction of the image width",
                          "type": "number"
                        },
                        "scopeId": {
                          "description": "The id of the team or project that owns this configuration",
                          "type": "string"
                        },
                        "spacing": {
                          "description": "Gap between repetitions, as a fraction of the mark's own size. Tiled\nplacement only; 0 repeats the mark edge to edge.",
                          "type": "number"
                        },
                        "text": {
                          "description": "Text rendered as the mark, when no logo is set",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "ISO-8601 last-update timestamp",
                          "type": "string"
                        },
                        "version": {
                          "description": "Bumped on every write.",
                          "type": "number"
                        }
                      },
                      "required": [
                        "createdAt",
                        "createdBy",
                        "enabled",
                        "id",
                        "level",
                        "opacity",
                        "placement",
                        "rotation",
                        "scale",
                        "scopeId",
                        "spacing",
                        "updatedAt",
                        "version"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "watermark"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/teams/{teamId}/watermark/preview": {
      "post": {
        "operationId": "PostTeamWatermarkPreview",
        "description": "Draw the given watermark settings on a sample image, without saving them",
        "tags": [
          "Watermark"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "description": "The team ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "description": "Response of the watermark preview routes.",
                  "properties": {
                    "image": {
                      "description": "The sample image with the mark drawn on it, base64-encoded.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "image"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Body for POST /teams/{teamId}/watermark/preview and its project twin.",
                "properties": {
                  "opacity": {
                    "default": 0.25,
                    "description": "Mark opacity, 0.05 (barely visible) to 1 (opaque)",
                    "maximum": 1,
                    "minimum": 0.05,
                    "type": "number"
                  },
                  "placement": {
                    "default": "tiled",
                    "description": "Where the mark sits on the image",
                    "enum": [
                      "bottom-left",
                      "bottom-right",
                      "center",
                      "tiled",
                      "top-left",
                      "top-right"
                    ],
                    "type": "string"
                  },
                  "rotation": {
                    "default": 0,
                    "description": "Mark rotation in degrees. 0 is horizontal, negative tilts it up.",
                    "maximum": 90,
                    "minimum": -90,
                    "type": "number"
                  },
                  "scale": {
                    "default": 0.2,
                    "description": "Mark width as a fraction of the image width",
                    "maximum": 1,
                    "minimum": 0.05,
                    "type": "number"
                  },
                  "spacing": {
                    "default": 0,
                    "description": "Gap between repetitions, as a fraction of the mark's own size. Only drawn\nfor the tiled placement; 0 repeats the mark edge to edge.",
                    "maximum": 2,
                    "minimum": 0,
                    "type": "number"
                  },
                  "text": {
                    "description": "Text to draw. Optional only because a logo can stand in for it.",
                    "maxLength": 64,
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/projects": {
      "get": {
        "operationId": "GetProjects",
        "description": "List projects of a team",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "The number of items to return in the response. The default value is 10, maximum value is 100, minimum value is 1",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 10
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "required": false,
            "description": "A token you received in a previous request to query the next page of items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "teamId",
            "in": "query",
            "required": false,
            "description": "The teamId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "projects": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "avatar": {
                            "additionalProperties": false,
                            "description": "The project's avatar",
                            "properties": {
                              "assetId": {
                                "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                                "type": "string"
                              },
                              "url": {
                                "description": "Signed URL of the assetId or free url if assetId is undefined",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "consumption": {
                            "description": "Consumption (CU) used by this project over the current billing period.",
                            "type": "number"
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "description": {
                            "description": "High-level markdown description of the project\nOnly returned on single project GET, not on list",
                            "type": "string"
                          },
                          "descriptionDate": {
                            "description": "ISO string date when the description was last updated\nOnly returned on single project GET, not on list",
                            "type": "string"
                          },
                          "disableIpDetection": {
                            "description": "When true, IP detection is switched off for this project even if the team\nhas an active posture. Absent means the team posture applies.\nThe posture itself (disabled / active-fail-open / active-fail-closed) is a\nteam-level setting, see the team's ipDetectionEnforcement.",
                            "type": "boolean"
                          },
                          "hasTaskSource": {
                            "description": "Whether a task source lists the tasks of this project.",
                            "type": "boolean"
                          },
                          "id": {
                            "description": "The project ID (example: \"project_eyVcnFJcR92BxBkz7N6g5w\")",
                            "type": "string"
                          },
                          "isTaskIdEnforced": {
                            "description": "When true, every request that charges Creative Units on this project must\nsend the X-Scenario-Task-Id header.",
                            "type": "boolean"
                          },
                          "keys": {
                            "description": "The keys of the project (get from the ProjectRoles table)",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "apiKeyId": {
                                  "description": "The API key id (`api_...`), taken by the api-keys routes (example:\n\"api_eyVcnFJcR92BxBkz7N6g5w\")",
                                  "type": "string"
                                },
                                "apiKeyStatus": {
                                  "description": "The status of the API key",
                                  "enum": [
                                    "active",
                                    "inactive"
                                  ],
                                  "type": "string"
                                },
                                "authorId": {
                                  "description": "The member who created the key: a human, or the member id (`apiu_...`) of\nthe team API key that created it.",
                                  "type": "string"
                                },
                                "consumption": {
                                  "description": "Consumption (CU) used by this key over the current billing period.",
                                  "type": "number"
                                },
                                "createdAt": {
                                  "description": "The API key creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                  "type": "string"
                                },
                                "id": {
                                  "description": "The key's member id (its API user id, `apiu_...`), taken by the member and\nusage routes (example: \"apiu_eyVcnFJcR92BxBkz7N6g5w\")",
                                  "type": "string"
                                },
                                "lastUsedAt": {
                                  "description": "The date the API key was last used to authenticate a request, as an ISO\nstring (example: \"2023-02-03T11:19:41.579Z\"). Absent if the key has never\nbeen used.",
                                  "type": "string"
                                },
                                "maxConsumption": {
                                  "description": "The key's effective consumption (CU) cap for the period (per-key override,\nelse the team-wide default). Absent when the key is uncapped.",
                                  "type": "number"
                                },
                                "name": {
                                  "description": "The API key name (example: \"eurv-scenario\")",
                                  "type": "string"
                                },
                                "ownerId": {
                                  "description": "For a PROJECT key: the project it was created on (the team id on some\nlegacy keys). Absent for team keys.",
                                  "type": "string"
                                },
                                "projects": {
                                  "description": "For a PROJECT key: the projects it has access to and its role on each.\nEmpty when the key is currently not a member of any (live) project.\nAbsent for team keys.",
                                  "items": {
                                    "additionalProperties": false,
                                    "description": "A project a `project`-scoped API key has access to, with its role on that\nproject. A key can be granted roles on several projects, potentially with\ndifferent roles — one entry per project.",
                                    "properties": {
                                      "projectId": {
                                        "description": "The project the key has a role on",
                                        "type": "string"
                                      },
                                      "role": {
                                        "description": "The key's role on this project: a built-in role (`admin`/`editor`/`reader`)\nor a custom `;`-separated scope list (example: `\"asset.read;model.read\"`).",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "projectId",
                                      "role"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "role": {
                                  "description": "A project role value. Accepted values are:\n- a built-in role: `\"admin\"`, `\"editor\"` or `\"reader\"` (see `ProjectRoles`);\n- a custom inline role: a `;`-separated scope list, e.g.\n  `\"assets.write;workflows.run\"`.\n\nResolved to capabilities by `ProjectRole.scopesFromRole()`.",
                                  "type": "string"
                                },
                                "scope": {
                                  "description": "The scope of the API key: 'project' for project-scoped keys, 'team' for team-scoped keys",
                                  "enum": [
                                    "project",
                                    "team"
                                  ],
                                  "type": "string"
                                },
                                "updatedAt": {
                                  "description": "The API key last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "apiKeyId",
                                "apiKeyStatus",
                                "createdAt",
                                "id",
                                "name",
                                "role",
                                "scope",
                                "updatedAt"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "maxConsumption": {
                            "description": "The project's consumption (CU) cap for the period. Absent when uncapped.",
                            "type": "number"
                          },
                          "name": {
                            "description": "The project name (example: \"Default Project\")",
                            "type": "string"
                          },
                          "privacyMode": {
                            "description": "Whether the project is privacyMode\nIn a privacyMode project, users can only see their own generated assets (except admins)",
                            "type": "boolean"
                          },
                          "qualityGateAutoDetect": {
                            "description": "Whether Quality Gate auto-detection runs on generation for this project.",
                            "type": "boolean"
                          },
                          "settings": {
                            "additionalProperties": false,
                            "description": "Project settings. Returned on `GET` and `PUT /projects/{projectId}`,\nabsent from the projects list.",
                            "properties": {
                              "homepage": {
                                "additionalProperties": {},
                                "description": "Published homepage layout.",
                                "type": "object"
                              }
                            },
                            "type": "object"
                          },
                          "teamId": {
                            "description": "The team ID (example: \"team_eyVcnFJcR92BxBkz7N6g5w\")",
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          },
                          "users": {
                            "description": "The users of the project (get from the ProjectRoles table)",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "avatar": {
                                  "additionalProperties": false,
                                  "description": "The user's avatar",
                                  "properties": {
                                    "assetId": {
                                      "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                                      "type": "string"
                                    },
                                    "url": {
                                      "description": "Signed URL of the assetId or free url if assetId is undefined",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                },
                                "consumption": {
                                  "description": "Consumption (CU) used by this member over the current billing period.",
                                  "type": "number"
                                },
                                "createdAt": {
                                  "description": "The user creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                  "type": "string"
                                },
                                "email": {
                                  "description": "The user email (example: \"herve@scenario.com\")",
                                  "type": "string"
                                },
                                "id": {
                                  "description": "The user ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                                  "type": "string"
                                },
                                "maxConsumption": {
                                  "description": "The member's effective consumption (CU) cap for the period (per-user\noverride, else the team-wide default). Absent when the member is uncapped.",
                                  "type": "number"
                                },
                                "role": {
                                  "description": "A project role value. Accepted values are:\n- a built-in role: `\"admin\"`, `\"editor\"` or `\"reader\"` (see `ProjectRoles`);\n- a custom inline role: a `;`-separated scope list, e.g.\n  `\"assets.write;workflows.run\"`.\n\nResolved to capabilities by `ProjectRole.scopesFromRole()`.",
                                  "type": "string"
                                },
                                "updatedAt": {
                                  "description": "The user last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "createdAt",
                                "email",
                                "id",
                                "role",
                                "updatedAt"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          }
                        },
                        "required": [
                          "createdAt",
                          "id",
                          "keys",
                          "name",
                          "privacyMode",
                          "teamId",
                          "updatedAt",
                          "users"
                        ],
                        "type": "object"
                      }
                    },
                    "nextPaginationToken": {
                      "type": "string",
                      "description": "A token to query the next page of projects"
                    }
                  },
                  "required": [
                    "projects"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "post": {
        "operationId": "PostProject",
        "description": "Create a new project",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "query",
            "required": false,
            "description": "The teamId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "project": {
                      "additionalProperties": false,
                      "properties": {
                        "avatar": {
                          "additionalProperties": false,
                          "description": "The project's avatar",
                          "properties": {
                            "assetId": {
                              "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                              "type": "string"
                            },
                            "url": {
                              "description": "Signed URL of the assetId or free url if assetId is undefined",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "consumption": {
                          "description": "Consumption (CU) used by this project over the current billing period.",
                          "type": "number"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "description": {
                          "description": "High-level markdown description of the project\nOnly returned on single project GET, not on list",
                          "type": "string"
                        },
                        "descriptionDate": {
                          "description": "ISO string date when the description was last updated\nOnly returned on single project GET, not on list",
                          "type": "string"
                        },
                        "disableIpDetection": {
                          "description": "When true, IP detection is switched off for this project even if the team\nhas an active posture. Absent means the team posture applies.\nThe posture itself (disabled / active-fail-open / active-fail-closed) is a\nteam-level setting, see the team's ipDetectionEnforcement.",
                          "type": "boolean"
                        },
                        "hasTaskSource": {
                          "description": "Whether a task source lists the tasks of this project.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "The project ID (example: \"project_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "isTaskIdEnforced": {
                          "description": "When true, every request that charges Creative Units on this project must\nsend the X-Scenario-Task-Id header.",
                          "type": "boolean"
                        },
                        "keys": {
                          "description": "The keys of the project (get from the ProjectRoles table)",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "apiKeyId": {
                                "description": "The API key id (`api_...`), taken by the api-keys routes (example:\n\"api_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "apiKeyStatus": {
                                "description": "The status of the API key",
                                "enum": [
                                  "active",
                                  "inactive"
                                ],
                                "type": "string"
                              },
                              "authorId": {
                                "description": "The member who created the key: a human, or the member id (`apiu_...`) of\nthe team API key that created it.",
                                "type": "string"
                              },
                              "consumption": {
                                "description": "Consumption (CU) used by this key over the current billing period.",
                                "type": "number"
                              },
                              "createdAt": {
                                "description": "The API key creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The key's member id (its API user id, `apiu_...`), taken by the member and\nusage routes (example: \"apiu_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "lastUsedAt": {
                                "description": "The date the API key was last used to authenticate a request, as an ISO\nstring (example: \"2023-02-03T11:19:41.579Z\"). Absent if the key has never\nbeen used.",
                                "type": "string"
                              },
                              "maxConsumption": {
                                "description": "The key's effective consumption (CU) cap for the period (per-key override,\nelse the team-wide default). Absent when the key is uncapped.",
                                "type": "number"
                              },
                              "name": {
                                "description": "The API key name (example: \"eurv-scenario\")",
                                "type": "string"
                              },
                              "ownerId": {
                                "description": "For a PROJECT key: the project it was created on (the team id on some\nlegacy keys). Absent for team keys.",
                                "type": "string"
                              },
                              "projects": {
                                "description": "For a PROJECT key: the projects it has access to and its role on each.\nEmpty when the key is currently not a member of any (live) project.\nAbsent for team keys.",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "A project a `project`-scoped API key has access to, with its role on that\nproject. A key can be granted roles on several projects, potentially with\ndifferent roles — one entry per project.",
                                  "properties": {
                                    "projectId": {
                                      "description": "The project the key has a role on",
                                      "type": "string"
                                    },
                                    "role": {
                                      "description": "The key's role on this project: a built-in role (`admin`/`editor`/`reader`)\nor a custom `;`-separated scope list (example: `\"asset.read;model.read\"`).",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "projectId",
                                    "role"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "role": {
                                "description": "A project role value. Accepted values are:\n- a built-in role: `\"admin\"`, `\"editor\"` or `\"reader\"` (see `ProjectRoles`);\n- a custom inline role: a `;`-separated scope list, e.g.\n  `\"assets.write;workflows.run\"`.\n\nResolved to capabilities by `ProjectRole.scopesFromRole()`.",
                                "type": "string"
                              },
                              "scope": {
                                "description": "The scope of the API key: 'project' for project-scoped keys, 'team' for team-scoped keys",
                                "enum": [
                                  "project",
                                  "team"
                                ],
                                "type": "string"
                              },
                              "updatedAt": {
                                "description": "The API key last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "apiKeyId",
                              "apiKeyStatus",
                              "createdAt",
                              "id",
                              "name",
                              "role",
                              "scope",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "maxConsumption": {
                          "description": "The project's consumption (CU) cap for the period. Absent when uncapped.",
                          "type": "number"
                        },
                        "name": {
                          "description": "The project name (example: \"Default Project\")",
                          "type": "string"
                        },
                        "privacyMode": {
                          "description": "Whether the project is privacyMode\nIn a privacyMode project, users can only see their own generated assets (except admins)",
                          "type": "boolean"
                        },
                        "qualityGateAutoDetect": {
                          "description": "Whether Quality Gate auto-detection runs on generation for this project.",
                          "type": "boolean"
                        },
                        "settings": {
                          "additionalProperties": false,
                          "description": "Project settings. Returned on `GET` and `PUT /projects/{projectId}`,\nabsent from the projects list.",
                          "properties": {
                            "homepage": {
                              "additionalProperties": {},
                              "description": "Published homepage layout.",
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "teamId": {
                          "description": "The team ID (example: \"team_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        },
                        "users": {
                          "description": "The users of the project (get from the ProjectRoles table)",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "avatar": {
                                "additionalProperties": false,
                                "description": "The user's avatar",
                                "properties": {
                                  "assetId": {
                                    "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "Signed URL of the assetId or free url if assetId is undefined",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "consumption": {
                                "description": "Consumption (CU) used by this member over the current billing period.",
                                "type": "number"
                              },
                              "createdAt": {
                                "description": "The user creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "email": {
                                "description": "The user email (example: \"herve@scenario.com\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The user ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "maxConsumption": {
                                "description": "The member's effective consumption (CU) cap for the period (per-user\noverride, else the team-wide default). Absent when the member is uncapped.",
                                "type": "number"
                              },
                              "role": {
                                "description": "A project role value. Accepted values are:\n- a built-in role: `\"admin\"`, `\"editor\"` or `\"reader\"` (see `ProjectRoles`);\n- a custom inline role: a `;`-separated scope list, e.g.\n  `\"assets.write;workflows.run\"`.\n\nResolved to capabilities by `ProjectRole.scopesFromRole()`.",
                                "type": "string"
                              },
                              "updatedAt": {
                                "description": "The user last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "createdAt",
                              "email",
                              "id",
                              "role",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "required": [
                        "createdAt",
                        "id",
                        "keys",
                        "name",
                        "privacyMode",
                        "teamId",
                        "updatedAt",
                        "users"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "project"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name of the project."
                  },
                  "autoJoin": {
                    "type": "boolean",
                    "description": "Whether to automatically join the project as admin."
                  },
                  "privacyMode": {
                    "type": "boolean",
                    "description": "Whether to create the project in privacyMode. Default is false."
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}": {
      "get": {
        "operationId": "GetProjectsByProjectId",
        "description": "Get a project by projectId",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The projectId to get",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "project": {
                      "additionalProperties": false,
                      "properties": {
                        "avatar": {
                          "additionalProperties": false,
                          "description": "The project's avatar",
                          "properties": {
                            "assetId": {
                              "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                              "type": "string"
                            },
                            "url": {
                              "description": "Signed URL of the assetId or free url if assetId is undefined",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "consumption": {
                          "description": "Consumption (CU) used by this project over the current billing period.",
                          "type": "number"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "description": {
                          "description": "High-level markdown description of the project\nOnly returned on single project GET, not on list",
                          "type": "string"
                        },
                        "descriptionDate": {
                          "description": "ISO string date when the description was last updated\nOnly returned on single project GET, not on list",
                          "type": "string"
                        },
                        "disableIpDetection": {
                          "description": "When true, IP detection is switched off for this project even if the team\nhas an active posture. Absent means the team posture applies.\nThe posture itself (disabled / active-fail-open / active-fail-closed) is a\nteam-level setting, see the team's ipDetectionEnforcement.",
                          "type": "boolean"
                        },
                        "hasTaskSource": {
                          "description": "Whether a task source lists the tasks of this project.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "The project ID (example: \"project_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "isTaskIdEnforced": {
                          "description": "When true, every request that charges Creative Units on this project must\nsend the X-Scenario-Task-Id header.",
                          "type": "boolean"
                        },
                        "keys": {
                          "description": "The keys of the project (get from the ProjectRoles table)",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "apiKeyId": {
                                "description": "The API key id (`api_...`), taken by the api-keys routes (example:\n\"api_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "apiKeyStatus": {
                                "description": "The status of the API key",
                                "enum": [
                                  "active",
                                  "inactive"
                                ],
                                "type": "string"
                              },
                              "authorId": {
                                "description": "The member who created the key: a human, or the member id (`apiu_...`) of\nthe team API key that created it.",
                                "type": "string"
                              },
                              "consumption": {
                                "description": "Consumption (CU) used by this key over the current billing period.",
                                "type": "number"
                              },
                              "createdAt": {
                                "description": "The API key creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The key's member id (its API user id, `apiu_...`), taken by the member and\nusage routes (example: \"apiu_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "lastUsedAt": {
                                "description": "The date the API key was last used to authenticate a request, as an ISO\nstring (example: \"2023-02-03T11:19:41.579Z\"). Absent if the key has never\nbeen used.",
                                "type": "string"
                              },
                              "maxConsumption": {
                                "description": "The key's effective consumption (CU) cap for the period (per-key override,\nelse the team-wide default). Absent when the key is uncapped.",
                                "type": "number"
                              },
                              "name": {
                                "description": "The API key name (example: \"eurv-scenario\")",
                                "type": "string"
                              },
                              "ownerId": {
                                "description": "For a PROJECT key: the project it was created on (the team id on some\nlegacy keys). Absent for team keys.",
                                "type": "string"
                              },
                              "projects": {
                                "description": "For a PROJECT key: the projects it has access to and its role on each.\nEmpty when the key is currently not a member of any (live) project.\nAbsent for team keys.",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "A project a `project`-scoped API key has access to, with its role on that\nproject. A key can be granted roles on several projects, potentially with\ndifferent roles — one entry per project.",
                                  "properties": {
                                    "projectId": {
                                      "description": "The project the key has a role on",
                                      "type": "string"
                                    },
                                    "role": {
                                      "description": "The key's role on this project: a built-in role (`admin`/`editor`/`reader`)\nor a custom `;`-separated scope list (example: `\"asset.read;model.read\"`).",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "projectId",
                                    "role"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "role": {
                                "description": "A project role value. Accepted values are:\n- a built-in role: `\"admin\"`, `\"editor\"` or `\"reader\"` (see `ProjectRoles`);\n- a custom inline role: a `;`-separated scope list, e.g.\n  `\"assets.write;workflows.run\"`.\n\nResolved to capabilities by `ProjectRole.scopesFromRole()`.",
                                "type": "string"
                              },
                              "scope": {
                                "description": "The scope of the API key: 'project' for project-scoped keys, 'team' for team-scoped keys",
                                "enum": [
                                  "project",
                                  "team"
                                ],
                                "type": "string"
                              },
                              "updatedAt": {
                                "description": "The API key last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "apiKeyId",
                              "apiKeyStatus",
                              "createdAt",
                              "id",
                              "name",
                              "role",
                              "scope",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "maxConsumption": {
                          "description": "The project's consumption (CU) cap for the period. Absent when uncapped.",
                          "type": "number"
                        },
                        "name": {
                          "description": "The project name (example: \"Default Project\")",
                          "type": "string"
                        },
                        "privacyMode": {
                          "description": "Whether the project is privacyMode\nIn a privacyMode project, users can only see their own generated assets (except admins)",
                          "type": "boolean"
                        },
                        "qualityGateAutoDetect": {
                          "description": "Whether Quality Gate auto-detection runs on generation for this project.",
                          "type": "boolean"
                        },
                        "settings": {
                          "additionalProperties": false,
                          "description": "Project settings. Returned on `GET` and `PUT /projects/{projectId}`,\nabsent from the projects list.",
                          "properties": {
                            "homepage": {
                              "additionalProperties": {},
                              "description": "Published homepage layout.",
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "teamId": {
                          "description": "The team ID (example: \"team_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        },
                        "users": {
                          "description": "The users of the project (get from the ProjectRoles table)",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "avatar": {
                                "additionalProperties": false,
                                "description": "The user's avatar",
                                "properties": {
                                  "assetId": {
                                    "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "Signed URL of the assetId or free url if assetId is undefined",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "consumption": {
                                "description": "Consumption (CU) used by this member over the current billing period.",
                                "type": "number"
                              },
                              "createdAt": {
                                "description": "The user creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "email": {
                                "description": "The user email (example: \"herve@scenario.com\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The user ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "maxConsumption": {
                                "description": "The member's effective consumption (CU) cap for the period (per-user\noverride, else the team-wide default). Absent when the member is uncapped.",
                                "type": "number"
                              },
                              "role": {
                                "description": "A project role value. Accepted values are:\n- a built-in role: `\"admin\"`, `\"editor\"` or `\"reader\"` (see `ProjectRoles`);\n- a custom inline role: a `;`-separated scope list, e.g.\n  `\"assets.write;workflows.run\"`.\n\nResolved to capabilities by `ProjectRole.scopesFromRole()`.",
                                "type": "string"
                              },
                              "updatedAt": {
                                "description": "The user last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "createdAt",
                              "email",
                              "id",
                              "role",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "required": [
                        "createdAt",
                        "id",
                        "keys",
                        "name",
                        "privacyMode",
                        "teamId",
                        "updatedAt",
                        "users"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "project"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "operationId": "PutProjectsByProjectId",
        "description": "Update the name of a Project",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The projectId to update",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "project": {
                      "additionalProperties": false,
                      "properties": {
                        "avatar": {
                          "additionalProperties": false,
                          "description": "The project's avatar",
                          "properties": {
                            "assetId": {
                              "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                              "type": "string"
                            },
                            "url": {
                              "description": "Signed URL of the assetId or free url if assetId is undefined",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "consumption": {
                          "description": "Consumption (CU) used by this project over the current billing period.",
                          "type": "number"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "description": {
                          "description": "High-level markdown description of the project\nOnly returned on single project GET, not on list",
                          "type": "string"
                        },
                        "descriptionDate": {
                          "description": "ISO string date when the description was last updated\nOnly returned on single project GET, not on list",
                          "type": "string"
                        },
                        "disableIpDetection": {
                          "description": "When true, IP detection is switched off for this project even if the team\nhas an active posture. Absent means the team posture applies.\nThe posture itself (disabled / active-fail-open / active-fail-closed) is a\nteam-level setting, see the team's ipDetectionEnforcement.",
                          "type": "boolean"
                        },
                        "hasTaskSource": {
                          "description": "Whether a task source lists the tasks of this project.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "The project ID (example: \"project_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "isTaskIdEnforced": {
                          "description": "When true, every request that charges Creative Units on this project must\nsend the X-Scenario-Task-Id header.",
                          "type": "boolean"
                        },
                        "keys": {
                          "description": "The keys of the project (get from the ProjectRoles table)",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "apiKeyId": {
                                "description": "The API key id (`api_...`), taken by the api-keys routes (example:\n\"api_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "apiKeyStatus": {
                                "description": "The status of the API key",
                                "enum": [
                                  "active",
                                  "inactive"
                                ],
                                "type": "string"
                              },
                              "authorId": {
                                "description": "The member who created the key: a human, or the member id (`apiu_...`) of\nthe team API key that created it.",
                                "type": "string"
                              },
                              "consumption": {
                                "description": "Consumption (CU) used by this key over the current billing period.",
                                "type": "number"
                              },
                              "createdAt": {
                                "description": "The API key creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The key's member id (its API user id, `apiu_...`), taken by the member and\nusage routes (example: \"apiu_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "lastUsedAt": {
                                "description": "The date the API key was last used to authenticate a request, as an ISO\nstring (example: \"2023-02-03T11:19:41.579Z\"). Absent if the key has never\nbeen used.",
                                "type": "string"
                              },
                              "maxConsumption": {
                                "description": "The key's effective consumption (CU) cap for the period (per-key override,\nelse the team-wide default). Absent when the key is uncapped.",
                                "type": "number"
                              },
                              "name": {
                                "description": "The API key name (example: \"eurv-scenario\")",
                                "type": "string"
                              },
                              "ownerId": {
                                "description": "For a PROJECT key: the project it was created on (the team id on some\nlegacy keys). Absent for team keys.",
                                "type": "string"
                              },
                              "projects": {
                                "description": "For a PROJECT key: the projects it has access to and its role on each.\nEmpty when the key is currently not a member of any (live) project.\nAbsent for team keys.",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "A project a `project`-scoped API key has access to, with its role on that\nproject. A key can be granted roles on several projects, potentially with\ndifferent roles — one entry per project.",
                                  "properties": {
                                    "projectId": {
                                      "description": "The project the key has a role on",
                                      "type": "string"
                                    },
                                    "role": {
                                      "description": "The key's role on this project: a built-in role (`admin`/`editor`/`reader`)\nor a custom `;`-separated scope list (example: `\"asset.read;model.read\"`).",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "projectId",
                                    "role"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "role": {
                                "description": "A project role value. Accepted values are:\n- a built-in role: `\"admin\"`, `\"editor\"` or `\"reader\"` (see `ProjectRoles`);\n- a custom inline role: a `;`-separated scope list, e.g.\n  `\"assets.write;workflows.run\"`.\n\nResolved to capabilities by `ProjectRole.scopesFromRole()`.",
                                "type": "string"
                              },
                              "scope": {
                                "description": "The scope of the API key: 'project' for project-scoped keys, 'team' for team-scoped keys",
                                "enum": [
                                  "project",
                                  "team"
                                ],
                                "type": "string"
                              },
                              "updatedAt": {
                                "description": "The API key last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "apiKeyId",
                              "apiKeyStatus",
                              "createdAt",
                              "id",
                              "name",
                              "role",
                              "scope",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "maxConsumption": {
                          "description": "The project's consumption (CU) cap for the period. Absent when uncapped.",
                          "type": "number"
                        },
                        "name": {
                          "description": "The project name (example: \"Default Project\")",
                          "type": "string"
                        },
                        "privacyMode": {
                          "description": "Whether the project is privacyMode\nIn a privacyMode project, users can only see their own generated assets (except admins)",
                          "type": "boolean"
                        },
                        "qualityGateAutoDetect": {
                          "description": "Whether Quality Gate auto-detection runs on generation for this project.",
                          "type": "boolean"
                        },
                        "settings": {
                          "additionalProperties": false,
                          "description": "Project settings. Returned on `GET` and `PUT /projects/{projectId}`,\nabsent from the projects list.",
                          "properties": {
                            "homepage": {
                              "additionalProperties": {},
                              "description": "Published homepage layout.",
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "teamId": {
                          "description": "The team ID (example: \"team_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        },
                        "users": {
                          "description": "The users of the project (get from the ProjectRoles table)",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "avatar": {
                                "additionalProperties": false,
                                "description": "The user's avatar",
                                "properties": {
                                  "assetId": {
                                    "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "Signed URL of the assetId or free url if assetId is undefined",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "consumption": {
                                "description": "Consumption (CU) used by this member over the current billing period.",
                                "type": "number"
                              },
                              "createdAt": {
                                "description": "The user creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "email": {
                                "description": "The user email (example: \"herve@scenario.com\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The user ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "maxConsumption": {
                                "description": "The member's effective consumption (CU) cap for the period (per-user\noverride, else the team-wide default). Absent when the member is uncapped.",
                                "type": "number"
                              },
                              "role": {
                                "description": "A project role value. Accepted values are:\n- a built-in role: `\"admin\"`, `\"editor\"` or `\"reader\"` (see `ProjectRoles`);\n- a custom inline role: a `;`-separated scope list, e.g.\n  `\"assets.write;workflows.run\"`.\n\nResolved to capabilities by `ProjectRole.scopesFromRole()`.",
                                "type": "string"
                              },
                              "updatedAt": {
                                "description": "The user last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "createdAt",
                              "email",
                              "id",
                              "role",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "required": [
                        "createdAt",
                        "id",
                        "keys",
                        "name",
                        "privacyMode",
                        "teamId",
                        "updatedAt",
                        "users"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "project"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "avatarAssetId": {
                    "description": "The project's avatar asset ID (must be kind image)",
                    "type": "string"
                  },
                  "description": {
                    "description": "High-level markdown description of the project\nSet to null to clear the description",
                    "maxLength": 2000,
                    "type": "string"
                  },
                  "disableIpDetection": {
                    "description": "Switch IP detection off for this project only.\nThe team's posture (see PUT /teams/{teamId}) applies to every project by\ndefault; set this to true to opt this project out of it, false to opt it\nback in. A project cannot choose a posture of its own. Team-admin only.",
                    "type": "boolean"
                  },
                  "isTaskIdEnforced": {
                    "description": "Require the X-Scenario-Task-Id header on every request that charges\nCreative Units on this project. Enabling it is Enterprise only. Set to false or null to\nstop requiring it. Project admins only.",
                    "type": "boolean"
                  },
                  "maxConsumption": {
                    "description": "Max consumption (CU) for this project over the billing period.\nSet to null to remove the cap. Team admins only, or a team API key holding\n`team.members.manage`, which may then send this field alone.",
                    "type": "number"
                  },
                  "name": {
                    "description": "The project name (example: \"Default Project\")",
                    "type": "string"
                  },
                  "privacyMode": {
                    "description": "Toggle the privacyMode mode\nWhen enabled, users can only see their own generated assets (except admins)",
                    "type": "boolean"
                  },
                  "qualityGateAutoDetect": {
                    "description": "Quality Gate auto-detection override for this project (wins over the team\ndefault). Set to null to clear the override.",
                    "type": "boolean"
                  },
                  "settings": {
                    "additionalProperties": false,
                    "description": "Project settings. Set `homepage` to a layout object to publish it, or to\n`null` to unpublish it. Team admins and project admins only.",
                    "properties": {
                      "homepage": {
                        "description": "Homepage layout. An object publishes it; `null` unpublishes it."
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteProjectsByProjectId",
        "description": "Delete a particular project",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project Id to delete",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/projects/{projectId}/members": {
      "post": {
        "operationId": "PostProjectsMembersByProjectId",
        "description": "Add a member to the project",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project Id on which to add the member",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "project": {
                      "additionalProperties": false,
                      "properties": {
                        "avatar": {
                          "additionalProperties": false,
                          "description": "The project's avatar",
                          "properties": {
                            "assetId": {
                              "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                              "type": "string"
                            },
                            "url": {
                              "description": "Signed URL of the assetId or free url if assetId is undefined",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "consumption": {
                          "description": "Consumption (CU) used by this project over the current billing period.",
                          "type": "number"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "description": {
                          "description": "High-level markdown description of the project\nOnly returned on single project GET, not on list",
                          "type": "string"
                        },
                        "descriptionDate": {
                          "description": "ISO string date when the description was last updated\nOnly returned on single project GET, not on list",
                          "type": "string"
                        },
                        "disableIpDetection": {
                          "description": "When true, IP detection is switched off for this project even if the team\nhas an active posture. Absent means the team posture applies.\nThe posture itself (disabled / active-fail-open / active-fail-closed) is a\nteam-level setting, see the team's ipDetectionEnforcement.",
                          "type": "boolean"
                        },
                        "hasTaskSource": {
                          "description": "Whether a task source lists the tasks of this project.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "The project ID (example: \"project_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "isTaskIdEnforced": {
                          "description": "When true, every request that charges Creative Units on this project must\nsend the X-Scenario-Task-Id header.",
                          "type": "boolean"
                        },
                        "keys": {
                          "description": "The keys of the project (get from the ProjectRoles table)",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "apiKeyId": {
                                "description": "The API key id (`api_...`), taken by the api-keys routes (example:\n\"api_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "apiKeyStatus": {
                                "description": "The status of the API key",
                                "enum": [
                                  "active",
                                  "inactive"
                                ],
                                "type": "string"
                              },
                              "authorId": {
                                "description": "The member who created the key: a human, or the member id (`apiu_...`) of\nthe team API key that created it.",
                                "type": "string"
                              },
                              "consumption": {
                                "description": "Consumption (CU) used by this key over the current billing period.",
                                "type": "number"
                              },
                              "createdAt": {
                                "description": "The API key creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The key's member id (its API user id, `apiu_...`), taken by the member and\nusage routes (example: \"apiu_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "lastUsedAt": {
                                "description": "The date the API key was last used to authenticate a request, as an ISO\nstring (example: \"2023-02-03T11:19:41.579Z\"). Absent if the key has never\nbeen used.",
                                "type": "string"
                              },
                              "maxConsumption": {
                                "description": "The key's effective consumption (CU) cap for the period (per-key override,\nelse the team-wide default). Absent when the key is uncapped.",
                                "type": "number"
                              },
                              "name": {
                                "description": "The API key name (example: \"eurv-scenario\")",
                                "type": "string"
                              },
                              "ownerId": {
                                "description": "For a PROJECT key: the project it was created on (the team id on some\nlegacy keys). Absent for team keys.",
                                "type": "string"
                              },
                              "projects": {
                                "description": "For a PROJECT key: the projects it has access to and its role on each.\nEmpty when the key is currently not a member of any (live) project.\nAbsent for team keys.",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "A project a `project`-scoped API key has access to, with its role on that\nproject. A key can be granted roles on several projects, potentially with\ndifferent roles — one entry per project.",
                                  "properties": {
                                    "projectId": {
                                      "description": "The project the key has a role on",
                                      "type": "string"
                                    },
                                    "role": {
                                      "description": "The key's role on this project: a built-in role (`admin`/`editor`/`reader`)\nor a custom `;`-separated scope list (example: `\"asset.read;model.read\"`).",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "projectId",
                                    "role"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "role": {
                                "description": "A project role value. Accepted values are:\n- a built-in role: `\"admin\"`, `\"editor\"` or `\"reader\"` (see `ProjectRoles`);\n- a custom inline role: a `;`-separated scope list, e.g.\n  `\"assets.write;workflows.run\"`.\n\nResolved to capabilities by `ProjectRole.scopesFromRole()`.",
                                "type": "string"
                              },
                              "scope": {
                                "description": "The scope of the API key: 'project' for project-scoped keys, 'team' for team-scoped keys",
                                "enum": [
                                  "project",
                                  "team"
                                ],
                                "type": "string"
                              },
                              "updatedAt": {
                                "description": "The API key last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "apiKeyId",
                              "apiKeyStatus",
                              "createdAt",
                              "id",
                              "name",
                              "role",
                              "scope",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "maxConsumption": {
                          "description": "The project's consumption (CU) cap for the period. Absent when uncapped.",
                          "type": "number"
                        },
                        "name": {
                          "description": "The project name (example: \"Default Project\")",
                          "type": "string"
                        },
                        "privacyMode": {
                          "description": "Whether the project is privacyMode\nIn a privacyMode project, users can only see their own generated assets (except admins)",
                          "type": "boolean"
                        },
                        "qualityGateAutoDetect": {
                          "description": "Whether Quality Gate auto-detection runs on generation for this project.",
                          "type": "boolean"
                        },
                        "settings": {
                          "additionalProperties": false,
                          "description": "Project settings. Returned on `GET` and `PUT /projects/{projectId}`,\nabsent from the projects list.",
                          "properties": {
                            "homepage": {
                              "additionalProperties": {},
                              "description": "Published homepage layout.",
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "teamId": {
                          "description": "The team ID (example: \"team_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        },
                        "users": {
                          "description": "The users of the project (get from the ProjectRoles table)",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "avatar": {
                                "additionalProperties": false,
                                "description": "The user's avatar",
                                "properties": {
                                  "assetId": {
                                    "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "Signed URL of the assetId or free url if assetId is undefined",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "consumption": {
                                "description": "Consumption (CU) used by this member over the current billing period.",
                                "type": "number"
                              },
                              "createdAt": {
                                "description": "The user creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "email": {
                                "description": "The user email (example: \"herve@scenario.com\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The user ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "maxConsumption": {
                                "description": "The member's effective consumption (CU) cap for the period (per-user\noverride, else the team-wide default). Absent when the member is uncapped.",
                                "type": "number"
                              },
                              "role": {
                                "description": "A project role value. Accepted values are:\n- a built-in role: `\"admin\"`, `\"editor\"` or `\"reader\"` (see `ProjectRoles`);\n- a custom inline role: a `;`-separated scope list, e.g.\n  `\"assets.write;workflows.run\"`.\n\nResolved to capabilities by `ProjectRole.scopesFromRole()`.",
                                "type": "string"
                              },
                              "updatedAt": {
                                "description": "The user last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "createdAt",
                              "email",
                              "id",
                              "role",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "required": [
                        "createdAt",
                        "id",
                        "keys",
                        "name",
                        "privacyMode",
                        "teamId",
                        "updatedAt",
                        "users"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "project"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "description": "The userId of the user you want to add to your project"
                  },
                  "role": {
                    "type": "string",
                    "description": "The role you want to give the user"
                  }
                },
                "required": [
                  "userId",
                  "role"
                ]
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/members/{memberId}": {
      "put": {
        "operationId": "PutProjectsMembersByProjectIdAndMemberId",
        "description": "Change a member role",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project Id concerned by the role change",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member whose role changes: a user id, or for an API key its member id (apiu_...), not its apiKeyId (api_...)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "project": {
                      "additionalProperties": false,
                      "properties": {
                        "avatar": {
                          "additionalProperties": false,
                          "description": "The project's avatar",
                          "properties": {
                            "assetId": {
                              "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                              "type": "string"
                            },
                            "url": {
                              "description": "Signed URL of the assetId or free url if assetId is undefined",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "consumption": {
                          "description": "Consumption (CU) used by this project over the current billing period.",
                          "type": "number"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "description": {
                          "description": "High-level markdown description of the project\nOnly returned on single project GET, not on list",
                          "type": "string"
                        },
                        "descriptionDate": {
                          "description": "ISO string date when the description was last updated\nOnly returned on single project GET, not on list",
                          "type": "string"
                        },
                        "disableIpDetection": {
                          "description": "When true, IP detection is switched off for this project even if the team\nhas an active posture. Absent means the team posture applies.\nThe posture itself (disabled / active-fail-open / active-fail-closed) is a\nteam-level setting, see the team's ipDetectionEnforcement.",
                          "type": "boolean"
                        },
                        "hasTaskSource": {
                          "description": "Whether a task source lists the tasks of this project.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "The project ID (example: \"project_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "isTaskIdEnforced": {
                          "description": "When true, every request that charges Creative Units on this project must\nsend the X-Scenario-Task-Id header.",
                          "type": "boolean"
                        },
                        "keys": {
                          "description": "The keys of the project (get from the ProjectRoles table)",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "apiKeyId": {
                                "description": "The API key id (`api_...`), taken by the api-keys routes (example:\n\"api_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "apiKeyStatus": {
                                "description": "The status of the API key",
                                "enum": [
                                  "active",
                                  "inactive"
                                ],
                                "type": "string"
                              },
                              "authorId": {
                                "description": "The member who created the key: a human, or the member id (`apiu_...`) of\nthe team API key that created it.",
                                "type": "string"
                              },
                              "consumption": {
                                "description": "Consumption (CU) used by this key over the current billing period.",
                                "type": "number"
                              },
                              "createdAt": {
                                "description": "The API key creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The key's member id (its API user id, `apiu_...`), taken by the member and\nusage routes (example: \"apiu_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "lastUsedAt": {
                                "description": "The date the API key was last used to authenticate a request, as an ISO\nstring (example: \"2023-02-03T11:19:41.579Z\"). Absent if the key has never\nbeen used.",
                                "type": "string"
                              },
                              "maxConsumption": {
                                "description": "The key's effective consumption (CU) cap for the period (per-key override,\nelse the team-wide default). Absent when the key is uncapped.",
                                "type": "number"
                              },
                              "name": {
                                "description": "The API key name (example: \"eurv-scenario\")",
                                "type": "string"
                              },
                              "ownerId": {
                                "description": "For a PROJECT key: the project it was created on (the team id on some\nlegacy keys). Absent for team keys.",
                                "type": "string"
                              },
                              "projects": {
                                "description": "For a PROJECT key: the projects it has access to and its role on each.\nEmpty when the key is currently not a member of any (live) project.\nAbsent for team keys.",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "A project a `project`-scoped API key has access to, with its role on that\nproject. A key can be granted roles on several projects, potentially with\ndifferent roles — one entry per project.",
                                  "properties": {
                                    "projectId": {
                                      "description": "The project the key has a role on",
                                      "type": "string"
                                    },
                                    "role": {
                                      "description": "The key's role on this project: a built-in role (`admin`/`editor`/`reader`)\nor a custom `;`-separated scope list (example: `\"asset.read;model.read\"`).",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "projectId",
                                    "role"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "role": {
                                "description": "A project role value. Accepted values are:\n- a built-in role: `\"admin\"`, `\"editor\"` or `\"reader\"` (see `ProjectRoles`);\n- a custom inline role: a `;`-separated scope list, e.g.\n  `\"assets.write;workflows.run\"`.\n\nResolved to capabilities by `ProjectRole.scopesFromRole()`.",
                                "type": "string"
                              },
                              "scope": {
                                "description": "The scope of the API key: 'project' for project-scoped keys, 'team' for team-scoped keys",
                                "enum": [
                                  "project",
                                  "team"
                                ],
                                "type": "string"
                              },
                              "updatedAt": {
                                "description": "The API key last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "apiKeyId",
                              "apiKeyStatus",
                              "createdAt",
                              "id",
                              "name",
                              "role",
                              "scope",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "maxConsumption": {
                          "description": "The project's consumption (CU) cap for the period. Absent when uncapped.",
                          "type": "number"
                        },
                        "name": {
                          "description": "The project name (example: \"Default Project\")",
                          "type": "string"
                        },
                        "privacyMode": {
                          "description": "Whether the project is privacyMode\nIn a privacyMode project, users can only see their own generated assets (except admins)",
                          "type": "boolean"
                        },
                        "qualityGateAutoDetect": {
                          "description": "Whether Quality Gate auto-detection runs on generation for this project.",
                          "type": "boolean"
                        },
                        "settings": {
                          "additionalProperties": false,
                          "description": "Project settings. Returned on `GET` and `PUT /projects/{projectId}`,\nabsent from the projects list.",
                          "properties": {
                            "homepage": {
                              "additionalProperties": {},
                              "description": "Published homepage layout.",
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "teamId": {
                          "description": "The team ID (example: \"team_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        },
                        "users": {
                          "description": "The users of the project (get from the ProjectRoles table)",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "avatar": {
                                "additionalProperties": false,
                                "description": "The user's avatar",
                                "properties": {
                                  "assetId": {
                                    "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "Signed URL of the assetId or free url if assetId is undefined",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "consumption": {
                                "description": "Consumption (CU) used by this member over the current billing period.",
                                "type": "number"
                              },
                              "createdAt": {
                                "description": "The user creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "email": {
                                "description": "The user email (example: \"herve@scenario.com\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The user ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "maxConsumption": {
                                "description": "The member's effective consumption (CU) cap for the period (per-user\noverride, else the team-wide default). Absent when the member is uncapped.",
                                "type": "number"
                              },
                              "role": {
                                "description": "A project role value. Accepted values are:\n- a built-in role: `\"admin\"`, `\"editor\"` or `\"reader\"` (see `ProjectRoles`);\n- a custom inline role: a `;`-separated scope list, e.g.\n  `\"assets.write;workflows.run\"`.\n\nResolved to capabilities by `ProjectRole.scopesFromRole()`.",
                                "type": "string"
                              },
                              "updatedAt": {
                                "description": "The user last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "createdAt",
                              "email",
                              "id",
                              "role",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "required": [
                        "createdAt",
                        "id",
                        "keys",
                        "name",
                        "privacyMode",
                        "teamId",
                        "updatedAt",
                        "users"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "project"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "role": {
                    "type": "string",
                    "description": "The role you want to give the member"
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteProjectsMembersByProjectIdAndMemberId",
        "description": "Remove a member from the project",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project Id concerned by the member removal",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member to remove: a user id, or for an API key its member id (apiu_...), not its apiKeyId (api_...)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "project": {
                      "additionalProperties": false,
                      "properties": {
                        "avatar": {
                          "additionalProperties": false,
                          "description": "The project's avatar",
                          "properties": {
                            "assetId": {
                              "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                              "type": "string"
                            },
                            "url": {
                              "description": "Signed URL of the assetId or free url if assetId is undefined",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "consumption": {
                          "description": "Consumption (CU) used by this project over the current billing period.",
                          "type": "number"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "description": {
                          "description": "High-level markdown description of the project\nOnly returned on single project GET, not on list",
                          "type": "string"
                        },
                        "descriptionDate": {
                          "description": "ISO string date when the description was last updated\nOnly returned on single project GET, not on list",
                          "type": "string"
                        },
                        "disableIpDetection": {
                          "description": "When true, IP detection is switched off for this project even if the team\nhas an active posture. Absent means the team posture applies.\nThe posture itself (disabled / active-fail-open / active-fail-closed) is a\nteam-level setting, see the team's ipDetectionEnforcement.",
                          "type": "boolean"
                        },
                        "hasTaskSource": {
                          "description": "Whether a task source lists the tasks of this project.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "The project ID (example: \"project_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "isTaskIdEnforced": {
                          "description": "When true, every request that charges Creative Units on this project must\nsend the X-Scenario-Task-Id header.",
                          "type": "boolean"
                        },
                        "keys": {
                          "description": "The keys of the project (get from the ProjectRoles table)",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "apiKeyId": {
                                "description": "The API key id (`api_...`), taken by the api-keys routes (example:\n\"api_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "apiKeyStatus": {
                                "description": "The status of the API key",
                                "enum": [
                                  "active",
                                  "inactive"
                                ],
                                "type": "string"
                              },
                              "authorId": {
                                "description": "The member who created the key: a human, or the member id (`apiu_...`) of\nthe team API key that created it.",
                                "type": "string"
                              },
                              "consumption": {
                                "description": "Consumption (CU) used by this key over the current billing period.",
                                "type": "number"
                              },
                              "createdAt": {
                                "description": "The API key creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The key's member id (its API user id, `apiu_...`), taken by the member and\nusage routes (example: \"apiu_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "lastUsedAt": {
                                "description": "The date the API key was last used to authenticate a request, as an ISO\nstring (example: \"2023-02-03T11:19:41.579Z\"). Absent if the key has never\nbeen used.",
                                "type": "string"
                              },
                              "maxConsumption": {
                                "description": "The key's effective consumption (CU) cap for the period (per-key override,\nelse the team-wide default). Absent when the key is uncapped.",
                                "type": "number"
                              },
                              "name": {
                                "description": "The API key name (example: \"eurv-scenario\")",
                                "type": "string"
                              },
                              "ownerId": {
                                "description": "For a PROJECT key: the project it was created on (the team id on some\nlegacy keys). Absent for team keys.",
                                "type": "string"
                              },
                              "projects": {
                                "description": "For a PROJECT key: the projects it has access to and its role on each.\nEmpty when the key is currently not a member of any (live) project.\nAbsent for team keys.",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "A project a `project`-scoped API key has access to, with its role on that\nproject. A key can be granted roles on several projects, potentially with\ndifferent roles — one entry per project.",
                                  "properties": {
                                    "projectId": {
                                      "description": "The project the key has a role on",
                                      "type": "string"
                                    },
                                    "role": {
                                      "description": "The key's role on this project: a built-in role (`admin`/`editor`/`reader`)\nor a custom `;`-separated scope list (example: `\"asset.read;model.read\"`).",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "projectId",
                                    "role"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "role": {
                                "description": "A project role value. Accepted values are:\n- a built-in role: `\"admin\"`, `\"editor\"` or `\"reader\"` (see `ProjectRoles`);\n- a custom inline role: a `;`-separated scope list, e.g.\n  `\"assets.write;workflows.run\"`.\n\nResolved to capabilities by `ProjectRole.scopesFromRole()`.",
                                "type": "string"
                              },
                              "scope": {
                                "description": "The scope of the API key: 'project' for project-scoped keys, 'team' for team-scoped keys",
                                "enum": [
                                  "project",
                                  "team"
                                ],
                                "type": "string"
                              },
                              "updatedAt": {
                                "description": "The API key last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "apiKeyId",
                              "apiKeyStatus",
                              "createdAt",
                              "id",
                              "name",
                              "role",
                              "scope",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "maxConsumption": {
                          "description": "The project's consumption (CU) cap for the period. Absent when uncapped.",
                          "type": "number"
                        },
                        "name": {
                          "description": "The project name (example: \"Default Project\")",
                          "type": "string"
                        },
                        "privacyMode": {
                          "description": "Whether the project is privacyMode\nIn a privacyMode project, users can only see their own generated assets (except admins)",
                          "type": "boolean"
                        },
                        "qualityGateAutoDetect": {
                          "description": "Whether Quality Gate auto-detection runs on generation for this project.",
                          "type": "boolean"
                        },
                        "settings": {
                          "additionalProperties": false,
                          "description": "Project settings. Returned on `GET` and `PUT /projects/{projectId}`,\nabsent from the projects list.",
                          "properties": {
                            "homepage": {
                              "additionalProperties": {},
                              "description": "Published homepage layout.",
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "teamId": {
                          "description": "The team ID (example: \"team_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        },
                        "users": {
                          "description": "The users of the project (get from the ProjectRoles table)",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "avatar": {
                                "additionalProperties": false,
                                "description": "The user's avatar",
                                "properties": {
                                  "assetId": {
                                    "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "Signed URL of the assetId or free url if assetId is undefined",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "consumption": {
                                "description": "Consumption (CU) used by this member over the current billing period.",
                                "type": "number"
                              },
                              "createdAt": {
                                "description": "The user creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              },
                              "email": {
                                "description": "The user email (example: \"herve@scenario.com\")",
                                "type": "string"
                              },
                              "id": {
                                "description": "The user ID (example: \"eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "maxConsumption": {
                                "description": "The member's effective consumption (CU) cap for the period (per-user\noverride, else the team-wide default). Absent when the member is uncapped.",
                                "type": "number"
                              },
                              "role": {
                                "description": "A project role value. Accepted values are:\n- a built-in role: `\"admin\"`, `\"editor\"` or `\"reader\"` (see `ProjectRoles`);\n- a custom inline role: a `;`-separated scope list, e.g.\n  `\"assets.write;workflows.run\"`.\n\nResolved to capabilities by `ProjectRole.scopesFromRole()`.",
                                "type": "string"
                              },
                              "updatedAt": {
                                "description": "The user last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "createdAt",
                              "email",
                              "id",
                              "role",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "required": [
                        "createdAt",
                        "id",
                        "keys",
                        "name",
                        "privacyMode",
                        "teamId",
                        "updatedAt",
                        "users"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "project"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/projects/{projectId}/api-keys": {
      "post": {
        "operationId": "PostProjectsApiKeysByProjectId",
        "description": "Create an API key for a particular project",
        "tags": [
          "API Keys"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project Id on which an api key will be created",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "authorId": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string"
                    },
                    "id": {
                      "type": "string"
                    },
                    "ownerId": {
                      "type": "string"
                    },
                    "ownerType": {
                      "enum": [
                        "project",
                        "team"
                      ],
                      "type": "string"
                    },
                    "secret": {
                      "type": "string"
                    },
                    "teamId": {
                      "type": "string"
                    },
                    "userId": {
                      "description": "The key's member id (`apiu_...`), taken by the member routes; the\napi-keys routes take `id`.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "authorId",
                    "createdAt",
                    "id",
                    "ownerType",
                    "secret",
                    "userId"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The API Key name"
                  },
                  "role": {
                    "type": "string",
                    "description": "Project role: a built-in role (admin | editor | reader) or a custom inline \";\"-separated scope list (e.g. \"assets.read;workflows.run\"). Defaults to editor."
                  },
                  "maxConsumption": {
                    "type": "number",
                    "description": "Optional spending cap (CU) for this key over the billing period: a value >= 0 to cap, or -1 for unlimited. Omit to inherit the default."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/api-keys/{keyId}": {
      "delete": {
        "operationId": "DeleteProjectsApiKeyByProjectIdAndKeyId",
        "description": "Delete a particular api key",
        "tags": [
          "API Keys"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project Id on which the api key exists",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyId",
            "in": "path",
            "required": true,
            "description": "The API key to delete: its apiKeyId (api_...), not its member id (apiu_...)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/projects/{projectId}/webhook-endpoints": {
      "get": {
        "operationId": "GetProjectWebhookEndpoints",
        "description": "List the project's webhook endpoints",
        "tags": [
          "Projects",
          "Webhooks"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "webhookEndpoints": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "createdAt": {
                            "description": "The date and time the webhook endpoint was created",
                            "type": "string"
                          },
                          "description": {
                            "description": "A description of the webhook endpoint",
                            "type": "string"
                          },
                          "enabled": {
                            "description": "Whether the webhook is enabled",
                            "type": "boolean"
                          },
                          "enabledEvents": {
                            "description": "The events that trigger the webhook. ['*'] indicates that all events are enabled",
                            "items": {
                              "description": "Every event a webhook endpoint can subscribe to: a project endpoint takes the\njob lifecycle events, a team endpoint takes the alert events.",
                              "enum": [
                                "*",
                                "asset.download.completed",
                                "asset.download.created",
                                "asset.download.failed",
                                "generation.completed",
                                "generation.created",
                                "generation.failed",
                                "inference.cancelled",
                                "inference.completed",
                                "inference.created",
                                "inference.failed",
                                "model.download.completed",
                                "model.download.created",
                                "model.download.failed",
                                "model.training.cancelled",
                                "model.training.completed",
                                "model.training.failed",
                                "model.training.started",
                                "team.credit.threshold.crossed"
                              ],
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "id": {
                            "description": "The ID of the webhook endpoint",
                            "type": "string"
                          },
                          "nbFailedCalls": {
                            "description": "The number of calls to the webhook endpoint that have failed",
                            "type": "number"
                          },
                          "nbTotalCalls": {
                            "description": "The number of calls to the webhook endpoint",
                            "type": "number"
                          },
                          "ownerId": {
                            "description": "The ID of the owner of the webhook endpoint: a project id for job\nlifecycle events, a team id for alert events",
                            "type": "string"
                          },
                          "ownerType": {
                            "description": "Whether the owner is a project or a team. Required to tell them apart: a\nproject created before the team/project split shares its team's id",
                            "enum": [
                              "project",
                              "team"
                            ],
                            "type": "string"
                          },
                          "updatedAt": {
                            "description": "The date and time the webhook endpoint was updated",
                            "type": "string"
                          },
                          "url": {
                            "description": "The URL of the webhook endpoint",
                            "type": "string"
                          }
                        },
                        "required": [
                          "createdAt",
                          "enabled",
                          "enabledEvents",
                          "id",
                          "nbFailedCalls",
                          "nbTotalCalls",
                          "ownerId",
                          "ownerType",
                          "updatedAt",
                          "url"
                        ],
                        "type": "object"
                      },
                      "description": "A list of the project webhooks"
                    }
                  },
                  "required": [
                    "webhookEndpoints"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "post": {
        "operationId": "PostProjectWebhookEndpoints",
        "description": "Register a new webhook endpoint for the project",
        "tags": [
          "Projects",
          "Webhooks"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "webhookEndpoint": {
                      "additionalProperties": false,
                      "description": "The creation response, and the only one that carries the secret: it is\ngenerated once and never returned again, so a client that loses it has to\nrecreate the endpoint.",
                      "properties": {
                        "createdAt": {
                          "description": "The date and time the webhook endpoint was created",
                          "type": "string"
                        },
                        "description": {
                          "description": "A description of the webhook endpoint",
                          "type": "string"
                        },
                        "enabled": {
                          "description": "Whether the webhook is enabled",
                          "type": "boolean"
                        },
                        "enabledEvents": {
                          "description": "The events that trigger the webhook. ['*'] indicates that all events are enabled",
                          "items": {
                            "description": "Every event a webhook endpoint can subscribe to: a project endpoint takes the\njob lifecycle events, a team endpoint takes the alert events.",
                            "enum": [
                              "*",
                              "asset.download.completed",
                              "asset.download.created",
                              "asset.download.failed",
                              "generation.completed",
                              "generation.created",
                              "generation.failed",
                              "inference.cancelled",
                              "inference.completed",
                              "inference.created",
                              "inference.failed",
                              "model.download.completed",
                              "model.download.created",
                              "model.download.failed",
                              "model.training.cancelled",
                              "model.training.completed",
                              "model.training.failed",
                              "model.training.started",
                              "team.credit.threshold.crossed"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "id": {
                          "description": "The ID of the webhook endpoint",
                          "type": "string"
                        },
                        "nbFailedCalls": {
                          "description": "The number of calls to the webhook endpoint that have failed",
                          "type": "number"
                        },
                        "nbTotalCalls": {
                          "description": "The number of calls to the webhook endpoint",
                          "type": "number"
                        },
                        "ownerId": {
                          "description": "The ID of the owner of the webhook endpoint: a project id for job\nlifecycle events, a team id for alert events",
                          "type": "string"
                        },
                        "ownerType": {
                          "description": "Whether the owner is a project or a team. Required to tell them apart: a\nproject created before the team/project split shares its team's id",
                          "enum": [
                            "project",
                            "team"
                          ],
                          "type": "string"
                        },
                        "secret": {
                          "description": "The endpoint's secret, used to generate webhook signatures",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The date and time the webhook endpoint was updated",
                          "type": "string"
                        },
                        "url": {
                          "description": "The URL of the webhook endpoint",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "enabled",
                        "enabledEvents",
                        "id",
                        "nbFailedCalls",
                        "nbTotalCalls",
                        "ownerId",
                        "ownerType",
                        "secret",
                        "updatedAt",
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "webhookEndpoint"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "description": {
                    "description": "A description of the webhook endpoint",
                    "type": "string"
                  },
                  "enabledEvents": {
                    "description": "The events that trigger the webhook. ['*'] indicates that all events are enabled",
                    "items": {
                      "description": "Every event a webhook endpoint can subscribe to: a project endpoint takes the\njob lifecycle events, a team endpoint takes the alert events.",
                      "enum": [
                        "*",
                        "asset.download.completed",
                        "asset.download.created",
                        "asset.download.failed",
                        "generation.completed",
                        "generation.created",
                        "generation.failed",
                        "inference.cancelled",
                        "inference.completed",
                        "inference.created",
                        "inference.failed",
                        "model.download.completed",
                        "model.download.created",
                        "model.download.failed",
                        "model.training.cancelled",
                        "model.training.completed",
                        "model.training.failed",
                        "model.training.started",
                        "team.credit.threshold.crossed"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "url": {
                    "description": "The URL of the webhook endpoint. Must be an absolute http(s) URL",
                    "type": "string"
                  }
                },
                "required": [
                  "enabledEvents",
                  "url"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/webhook-endpoints/{webhookEndpointId}": {
      "put": {
        "operationId": "PutProjectWebhookEndpointById",
        "description": "Update a particular webhook endpoint for a project",
        "tags": [
          "Projects",
          "Webhooks"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project Id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "webhookEndpointId",
            "in": "path",
            "required": true,
            "description": "The webhook endpoint to update",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "webhookEndpoint": {
                      "additionalProperties": false,
                      "properties": {
                        "createdAt": {
                          "description": "The date and time the webhook endpoint was created",
                          "type": "string"
                        },
                        "description": {
                          "description": "A description of the webhook endpoint",
                          "type": "string"
                        },
                        "enabled": {
                          "description": "Whether the webhook is enabled",
                          "type": "boolean"
                        },
                        "enabledEvents": {
                          "description": "The events that trigger the webhook. ['*'] indicates that all events are enabled",
                          "items": {
                            "description": "Every event a webhook endpoint can subscribe to: a project endpoint takes the\njob lifecycle events, a team endpoint takes the alert events.",
                            "enum": [
                              "*",
                              "asset.download.completed",
                              "asset.download.created",
                              "asset.download.failed",
                              "generation.completed",
                              "generation.created",
                              "generation.failed",
                              "inference.cancelled",
                              "inference.completed",
                              "inference.created",
                              "inference.failed",
                              "model.download.completed",
                              "model.download.created",
                              "model.download.failed",
                              "model.training.cancelled",
                              "model.training.completed",
                              "model.training.failed",
                              "model.training.started",
                              "team.credit.threshold.crossed"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "id": {
                          "description": "The ID of the webhook endpoint",
                          "type": "string"
                        },
                        "nbFailedCalls": {
                          "description": "The number of calls to the webhook endpoint that have failed",
                          "type": "number"
                        },
                        "nbTotalCalls": {
                          "description": "The number of calls to the webhook endpoint",
                          "type": "number"
                        },
                        "ownerId": {
                          "description": "The ID of the owner of the webhook endpoint: a project id for job\nlifecycle events, a team id for alert events",
                          "type": "string"
                        },
                        "ownerType": {
                          "description": "Whether the owner is a project or a team. Required to tell them apart: a\nproject created before the team/project split shares its team's id",
                          "enum": [
                            "project",
                            "team"
                          ],
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The date and time the webhook endpoint was updated",
                          "type": "string"
                        },
                        "url": {
                          "description": "The URL of the webhook endpoint",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "enabled",
                        "enabledEvents",
                        "id",
                        "nbFailedCalls",
                        "nbTotalCalls",
                        "ownerId",
                        "ownerType",
                        "updatedAt",
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "webhookEndpoint"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "description": {
                    "description": "A description of the webhook endpoint",
                    "type": "string"
                  },
                  "enabled": {
                    "description": "Whether the webhook is enabled",
                    "type": "boolean"
                  },
                  "enabledEvents": {
                    "description": "The events that trigger the webhook. ['*'] indicates that all events are enabled",
                    "items": {
                      "description": "Every event a webhook endpoint can subscribe to: a project endpoint takes the\njob lifecycle events, a team endpoint takes the alert events.",
                      "enum": [
                        "*",
                        "asset.download.completed",
                        "asset.download.created",
                        "asset.download.failed",
                        "generation.completed",
                        "generation.created",
                        "generation.failed",
                        "inference.cancelled",
                        "inference.completed",
                        "inference.created",
                        "inference.failed",
                        "model.download.completed",
                        "model.download.created",
                        "model.download.failed",
                        "model.training.cancelled",
                        "model.training.completed",
                        "model.training.failed",
                        "model.training.started",
                        "team.credit.threshold.crossed"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "url": {
                    "description": "The URL of the webhook endpoint. Must be an absolute http(s) URL",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteProjectWebhookEndpointById",
        "description": "Delete a particular webhook endpoint by its Id",
        "tags": [
          "Projects",
          "Webhooks"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project Id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "webhookEndpointId",
            "in": "path",
            "required": true,
            "description": "The webhook endpoint to delete",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/projects/{projectId}/webhook-endpoints/{webhookEndpointId}/events": {
      "get": {
        "operationId": "GetProjectWebhookEndpointEvents",
        "description": "List the project's webhook events",
        "tags": [
          "Projects",
          "Webhooks"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project Id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "webhookEndpointId",
            "in": "path",
            "required": true,
            "description": "The webhook endpoint whose delivery events to list",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "required": false,
            "description": "A token you received in a previous request to query the next page of items",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "endpointId": {
                            "type": "string"
                          },
                          "id": {
                            "type": "string"
                          },
                          "status": {
                            "enum": [
                              "created",
                              "failed",
                              "retrying",
                              "success"
                            ],
                            "type": "string"
                          },
                          "type": {
                            "description": "Every event a webhook endpoint can subscribe to: a project endpoint takes the\njob lifecycle events, a team endpoint takes the alert events.",
                            "enum": [
                              "*",
                              "asset.download.completed",
                              "asset.download.created",
                              "asset.download.failed",
                              "generation.completed",
                              "generation.created",
                              "generation.failed",
                              "inference.cancelled",
                              "inference.completed",
                              "inference.created",
                              "inference.failed",
                              "model.download.completed",
                              "model.download.created",
                              "model.download.failed",
                              "model.training.cancelled",
                              "model.training.completed",
                              "model.training.failed",
                              "model.training.started",
                              "team.credit.threshold.crossed"
                            ],
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "endpointId",
                          "id",
                          "status",
                          "type",
                          "updatedAt"
                        ],
                        "type": "object"
                      },
                      "description": "A list of the project webhook events"
                    },
                    "nextPaginationToken": {
                      "type": "string",
                      "description": "A token to query the next page of events"
                    }
                  },
                  "required": [
                    "items"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/projects/{projectId}/webhook-endpoints/{webhookEndpointId}/events/{eventId}": {
      "get": {
        "operationId": "GetWebhookEvent",
        "description": "Retrieve one delivery event of one of the project's webhook endpoints",
        "tags": [
          "Projects",
          "Webhooks"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project Id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "webhookEndpointId",
            "in": "path",
            "required": true,
            "description": "The webhook endpoint that delivered the event",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "eventId",
            "in": "path",
            "required": true,
            "description": "The ID of the webhook delivery event",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "webhookEvent": {
                      "additionalProperties": false,
                      "properties": {
                        "attempts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "responseStatusCode": {
                                "type": "number"
                              },
                              "sentAt": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "responseStatusCode",
                              "sentAt"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "endpointId": {
                          "type": "string"
                        },
                        "id": {
                          "type": "string"
                        },
                        "payload": {
                          "additionalProperties": false,
                          "type": "object"
                        },
                        "sentAt": {
                          "type": "string"
                        },
                        "status": {
                          "enum": [
                            "created",
                            "failed",
                            "retrying",
                            "success"
                          ],
                          "type": "string"
                        },
                        "type": {
                          "description": "Every event a webhook endpoint can subscribe to: a project endpoint takes the\njob lifecycle events, a team endpoint takes the alert events.",
                          "enum": [
                            "*",
                            "asset.download.completed",
                            "asset.download.created",
                            "asset.download.failed",
                            "generation.completed",
                            "generation.created",
                            "generation.failed",
                            "inference.cancelled",
                            "inference.completed",
                            "inference.created",
                            "inference.failed",
                            "model.download.completed",
                            "model.download.created",
                            "model.download.failed",
                            "model.training.cancelled",
                            "model.training.completed",
                            "model.training.failed",
                            "model.training.started",
                            "team.credit.threshold.crossed"
                          ],
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "attempts",
                        "createdAt",
                        "endpointId",
                        "id",
                        "payload",
                        "sentAt",
                        "status",
                        "type",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "webhookEvent"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/projects/{projectId}/instructions": {
      "get": {
        "operationId": "GetProjectInstructions",
        "description": "Get the project's assistant instructions (markdown). Returns 404 if not set. Any project member can read.",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "memory": {
                      "additionalProperties": false,
                      "description": "Public JSON shape returned by GET endpoints",
                      "properties": {
                        "content": {
                          "description": "Markdown content of the memory",
                          "type": "string"
                        },
                        "createdAt": {
                          "description": "ISO 8601 timestamp when the memory was first written",
                          "type": "string"
                        },
                        "id": {
                          "description": "The memory ID — deterministic from scope + parent IDs (example: \"mem_team_team_abc\")",
                          "type": "string"
                        },
                        "sizeBytes": {
                          "description": "UTF-8 byte length of the content — used for quota enforcement",
                          "type": "number"
                        },
                        "updatedAt": {
                          "description": "ISO 8601 timestamp when the memory was last updated",
                          "type": "string"
                        },
                        "updatedBy": {
                          "description": "The userId of the last writer — useful for audit/UI",
                          "type": "string"
                        }
                      },
                      "required": [
                        "content",
                        "createdAt",
                        "id",
                        "sizeBytes",
                        "updatedAt",
                        "updatedBy"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "memory"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "operationId": "PutProjectInstructions",
        "description": "Set the project's assistant instructions (markdown, max 50KB). Set content to null to clear. Team or project admins only.",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "memory": {
                      "additionalProperties": false,
                      "description": "Public JSON shape returned by GET endpoints",
                      "properties": {
                        "content": {
                          "description": "Markdown content of the memory",
                          "type": "string"
                        },
                        "createdAt": {
                          "description": "ISO 8601 timestamp when the memory was first written",
                          "type": "string"
                        },
                        "id": {
                          "description": "The memory ID — deterministic from scope + parent IDs (example: \"mem_team_team_abc\")",
                          "type": "string"
                        },
                        "sizeBytes": {
                          "description": "UTF-8 byte length of the content — used for quota enforcement",
                          "type": "number"
                        },
                        "updatedAt": {
                          "description": "ISO 8601 timestamp when the memory was last updated",
                          "type": "string"
                        },
                        "updatedBy": {
                          "description": "The userId of the last writer — useful for audit/UI",
                          "type": "string"
                        }
                      },
                      "required": [
                        "content",
                        "createdAt",
                        "id",
                        "sizeBytes",
                        "updatedAt",
                        "updatedBy"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Request body for PUT memory endpoints.",
                "properties": {
                  "content": {
                    "description": "Markdown content of the memory. Set to null to clear.\nMax size depends on the scope (20-50 KB).",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/memory": {
      "get": {
        "operationId": "GetProjectUserMemory",
        "description": "Get the caller's assistant memory scoped to this project (auto-learned). Returns 404 if empty.",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "memory": {
                      "additionalProperties": false,
                      "description": "Public JSON shape returned by GET endpoints",
                      "properties": {
                        "content": {
                          "description": "Markdown content of the memory",
                          "type": "string"
                        },
                        "createdAt": {
                          "description": "ISO 8601 timestamp when the memory was first written",
                          "type": "string"
                        },
                        "id": {
                          "description": "The memory ID — deterministic from scope + parent IDs (example: \"mem_team_team_abc\")",
                          "type": "string"
                        },
                        "sizeBytes": {
                          "description": "UTF-8 byte length of the content — used for quota enforcement",
                          "type": "number"
                        },
                        "updatedAt": {
                          "description": "ISO 8601 timestamp when the memory was last updated",
                          "type": "string"
                        },
                        "updatedBy": {
                          "description": "The userId of the last writer — useful for audit/UI",
                          "type": "string"
                        }
                      },
                      "required": [
                        "content",
                        "createdAt",
                        "id",
                        "sizeBytes",
                        "updatedAt",
                        "updatedBy"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "memory"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "operationId": "PutProjectUserMemory",
        "description": "Set the caller's assistant memory scoped to this project (markdown, max 30KB). Set content to null to clear.",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "memory": {
                      "additionalProperties": false,
                      "description": "Public JSON shape returned by GET endpoints",
                      "properties": {
                        "content": {
                          "description": "Markdown content of the memory",
                          "type": "string"
                        },
                        "createdAt": {
                          "description": "ISO 8601 timestamp when the memory was first written",
                          "type": "string"
                        },
                        "id": {
                          "description": "The memory ID — deterministic from scope + parent IDs (example: \"mem_team_team_abc\")",
                          "type": "string"
                        },
                        "sizeBytes": {
                          "description": "UTF-8 byte length of the content — used for quota enforcement",
                          "type": "number"
                        },
                        "updatedAt": {
                          "description": "ISO 8601 timestamp when the memory was last updated",
                          "type": "string"
                        },
                        "updatedBy": {
                          "description": "The userId of the last writer — useful for audit/UI",
                          "type": "string"
                        }
                      },
                      "required": [
                        "content",
                        "createdAt",
                        "id",
                        "sizeBytes",
                        "updatedAt",
                        "updatedBy"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Request body for PUT memory endpoints.",
                "properties": {
                  "content": {
                    "description": "Markdown content of the memory. Set to null to clear.\nMax size depends on the scope (20-50 KB).",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/brief": {
      "get": {
        "operationId": "GetProjectBrief",
        "description": "Get the project's Quality Gate brief",
        "tags": [
          "Quality Gate"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "brief": {
                      "additionalProperties": false,
                      "description": "A brand-style / project-rules / campaign-context brief stored at one scope.",
                      "properties": {
                        "body": {
                          "description": "Free-text brief: brand style, rules, campaign context",
                          "type": "string"
                        },
                        "createdAt": {
                          "description": "ISO-8601 creation timestamp",
                          "type": "string"
                        },
                        "createdBy": {
                          "description": "User id that last wrote the brief",
                          "type": "string"
                        },
                        "enabled": {
                          "description": "Whether the brief is applied during verification",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "Stable identifier derived from level + scopeId",
                          "type": "string"
                        },
                        "level": {
                          "description": "Scope this brief applies to: team or project",
                          "enum": [
                            "project",
                            "team"
                          ],
                          "type": "string"
                        },
                        "referenceAssetIds": {
                          "description": "Reference assets the verifier compares the image against",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "scopeId": {
                          "description": "The id of the team or project that owns this brief",
                          "type": "string"
                        },
                        "sensitivity": {
                          "description": "Threshold strictness applied when verifying against this scope",
                          "enum": [
                            "high",
                            "low",
                            "medium"
                          ],
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "ISO-8601 last-update timestamp",
                          "type": "string"
                        }
                      },
                      "required": [
                        "body",
                        "createdAt",
                        "createdBy",
                        "enabled",
                        "id",
                        "level",
                        "referenceAssetIds",
                        "scopeId",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "brief"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "operationId": "PutProjectBrief",
        "description": "Create or update the project's Quality Gate brief",
        "tags": [
          "Quality Gate"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "brief": {
                      "additionalProperties": false,
                      "description": "A brand-style / project-rules / campaign-context brief stored at one scope.",
                      "properties": {
                        "body": {
                          "description": "Free-text brief: brand style, rules, campaign context",
                          "type": "string"
                        },
                        "createdAt": {
                          "description": "ISO-8601 creation timestamp",
                          "type": "string"
                        },
                        "createdBy": {
                          "description": "User id that last wrote the brief",
                          "type": "string"
                        },
                        "enabled": {
                          "description": "Whether the brief is applied during verification",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "Stable identifier derived from level + scopeId",
                          "type": "string"
                        },
                        "level": {
                          "description": "Scope this brief applies to: team or project",
                          "enum": [
                            "project",
                            "team"
                          ],
                          "type": "string"
                        },
                        "referenceAssetIds": {
                          "description": "Reference assets the verifier compares the image against",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "scopeId": {
                          "description": "The id of the team or project that owns this brief",
                          "type": "string"
                        },
                        "sensitivity": {
                          "description": "Threshold strictness applied when verifying against this scope",
                          "enum": [
                            "high",
                            "low",
                            "medium"
                          ],
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "ISO-8601 last-update timestamp",
                          "type": "string"
                        }
                      },
                      "required": [
                        "body",
                        "createdAt",
                        "createdBy",
                        "enabled",
                        "id",
                        "level",
                        "referenceAssetIds",
                        "scopeId",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "brief"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Body for PUT /projects/{projectId}/brief and /teams/{teamId}/brief.",
                "properties": {
                  "body": {
                    "description": "Free-text brief content",
                    "maxLength": 8000,
                    "minLength": 1,
                    "type": "string"
                  },
                  "enabled": {
                    "description": "Whether the brief is applied during verification (default true)",
                    "type": "boolean"
                  },
                  "referenceAssetIds": {
                    "description": "Reference assets the verifier compares against (max 10). Send [] to clear.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "sensitivity": {
                    "description": "Threshold strictness stored for this scope: low, medium, or high. Applied\nto verifications unless the verify call passes its own sensitivity.",
                    "enum": [
                      "high",
                      "low",
                      "medium"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "body"
                ],
                "type": "object"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteProjectBrief",
        "description": "Delete the project's Quality Gate brief",
        "tags": [
          "Quality Gate"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "deleted"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/projects/{projectId}/watermark": {
      "get": {
        "operationId": "GetProjectWatermark",
        "description": "Get the project's forced watermark configuration",
        "tags": [
          "Watermark"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "watermark": {
                      "additionalProperties": false,
                      "description": "Forced-watermark configuration stored at one scope.",
                      "properties": {
                        "createdAt": {
                          "description": "ISO-8601 creation timestamp",
                          "type": "string"
                        },
                        "createdBy": {
                          "description": "User id that last wrote the configuration",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "Set when the configuration has been deleted.",
                          "type": "string"
                        },
                        "enabled": {
                          "description": "Whether the watermark is enforced on assets generated in this scope. A\ndisabled project configuration falls back to its team's.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "Stable identifier derived from level + scopeId",
                          "type": "string"
                        },
                        "level": {
                          "description": "Scope this configuration applies to: team or project",
                          "enum": [
                            "project",
                            "team"
                          ],
                          "type": "string"
                        },
                        "logoIsOpaque": {
                          "description": "Whether the stored logo has no transparency at all.\n\nRecorded at upload so the UI can warn without decoding the image again: an\nopaque logo draws its whole rectangle, which a rotated tiled mark turns\ninto a very visible diamond.",
                          "type": "boolean"
                        },
                        "logoKey": {
                          "description": "Where the uploaded logo lives, when one is set.",
                          "type": "string"
                        },
                        "opacity": {
                          "description": "Mark opacity, 0.05 (barely visible) to 1 (opaque)",
                          "type": "number"
                        },
                        "placement": {
                          "description": "Where the mark sits on the image",
                          "enum": [
                            "bottom-left",
                            "bottom-right",
                            "center",
                            "tiled",
                            "top-left",
                            "top-right"
                          ],
                          "type": "string"
                        },
                        "rotation": {
                          "description": "Mark rotation in degrees, -90 to 90. 0 is horizontal.",
                          "type": "number"
                        },
                        "scale": {
                          "description": "Mark width as a fraction of the image width",
                          "type": "number"
                        },
                        "scopeId": {
                          "description": "The id of the team or project that owns this configuration",
                          "type": "string"
                        },
                        "spacing": {
                          "description": "Gap between repetitions, as a fraction of the mark's own size. Tiled\nplacement only; 0 repeats the mark edge to edge.",
                          "type": "number"
                        },
                        "text": {
                          "description": "Text rendered as the mark, when no logo is set",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "ISO-8601 last-update timestamp",
                          "type": "string"
                        },
                        "version": {
                          "description": "Bumped on every write.",
                          "type": "number"
                        }
                      },
                      "required": [
                        "createdAt",
                        "createdBy",
                        "enabled",
                        "id",
                        "level",
                        "opacity",
                        "placement",
                        "rotation",
                        "scale",
                        "scopeId",
                        "spacing",
                        "updatedAt",
                        "version"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "watermark"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "operationId": "PutProjectWatermark",
        "description": "Create or update the project's forced watermark configuration",
        "tags": [
          "Watermark"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "watermark": {
                      "additionalProperties": false,
                      "description": "Forced-watermark configuration stored at one scope.",
                      "properties": {
                        "createdAt": {
                          "description": "ISO-8601 creation timestamp",
                          "type": "string"
                        },
                        "createdBy": {
                          "description": "User id that last wrote the configuration",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "Set when the configuration has been deleted.",
                          "type": "string"
                        },
                        "enabled": {
                          "description": "Whether the watermark is enforced on assets generated in this scope. A\ndisabled project configuration falls back to its team's.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "Stable identifier derived from level + scopeId",
                          "type": "string"
                        },
                        "level": {
                          "description": "Scope this configuration applies to: team or project",
                          "enum": [
                            "project",
                            "team"
                          ],
                          "type": "string"
                        },
                        "logoIsOpaque": {
                          "description": "Whether the stored logo has no transparency at all.\n\nRecorded at upload so the UI can warn without decoding the image again: an\nopaque logo draws its whole rectangle, which a rotated tiled mark turns\ninto a very visible diamond.",
                          "type": "boolean"
                        },
                        "logoKey": {
                          "description": "Where the uploaded logo lives, when one is set.",
                          "type": "string"
                        },
                        "opacity": {
                          "description": "Mark opacity, 0.05 (barely visible) to 1 (opaque)",
                          "type": "number"
                        },
                        "placement": {
                          "description": "Where the mark sits on the image",
                          "enum": [
                            "bottom-left",
                            "bottom-right",
                            "center",
                            "tiled",
                            "top-left",
                            "top-right"
                          ],
                          "type": "string"
                        },
                        "rotation": {
                          "description": "Mark rotation in degrees, -90 to 90. 0 is horizontal.",
                          "type": "number"
                        },
                        "scale": {
                          "description": "Mark width as a fraction of the image width",
                          "type": "number"
                        },
                        "scopeId": {
                          "description": "The id of the team or project that owns this configuration",
                          "type": "string"
                        },
                        "spacing": {
                          "description": "Gap between repetitions, as a fraction of the mark's own size. Tiled\nplacement only; 0 repeats the mark edge to edge.",
                          "type": "number"
                        },
                        "text": {
                          "description": "Text rendered as the mark, when no logo is set",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "ISO-8601 last-update timestamp",
                          "type": "string"
                        },
                        "version": {
                          "description": "Bumped on every write.",
                          "type": "number"
                        }
                      },
                      "required": [
                        "createdAt",
                        "createdBy",
                        "enabled",
                        "id",
                        "level",
                        "opacity",
                        "placement",
                        "rotation",
                        "scale",
                        "scopeId",
                        "spacing",
                        "updatedAt",
                        "version"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "watermark"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Body for PUT /teams/{teamId}/watermark and PUT /projects/{projectId}/watermark.",
                "properties": {
                  "enabled": {
                    "description": "Whether the watermark is enforced on assets generated in this scope. A\ndisabled project configuration falls back to its team's.",
                    "type": "boolean"
                  },
                  "opacity": {
                    "default": 0.25,
                    "description": "Mark opacity, 0.05 (barely visible) to 1 (opaque)",
                    "maximum": 1,
                    "minimum": 0.05,
                    "type": "number"
                  },
                  "placement": {
                    "default": "tiled",
                    "description": "Where the mark sits on the image",
                    "enum": [
                      "bottom-left",
                      "bottom-right",
                      "center",
                      "tiled",
                      "top-left",
                      "top-right"
                    ],
                    "type": "string"
                  },
                  "rotation": {
                    "default": 0,
                    "description": "Mark rotation in degrees. 0 is horizontal, negative tilts it up.",
                    "maximum": 90,
                    "minimum": -90,
                    "type": "number"
                  },
                  "scale": {
                    "default": 0.2,
                    "description": "Mark width as a fraction of the image width",
                    "maximum": 1,
                    "minimum": 0.05,
                    "type": "number"
                  },
                  "spacing": {
                    "default": 0,
                    "description": "Gap between repetitions, as a fraction of the mark's own size. Only drawn\nfor the tiled placement; 0 repeats the mark edge to edge.",
                    "maximum": 2,
                    "minimum": 0,
                    "type": "number"
                  },
                  "text": {
                    "description": "Text rendered as the mark. Ignored while a logo is set.",
                    "maxLength": 64,
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "enabled"
                ],
                "type": "object"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteProjectWatermark",
        "description": "Delete the project's forced watermark configuration",
        "tags": [
          "Watermark"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "deleted"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/projects/{projectId}/watermark/logo": {
      "put": {
        "operationId": "PutProjectWatermarkLogo",
        "description": "Upload the project's watermark logo, used as the mark instead of its text",
        "tags": [
          "Watermark"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "watermark": {
                      "additionalProperties": false,
                      "description": "Forced-watermark configuration stored at one scope.",
                      "properties": {
                        "createdAt": {
                          "description": "ISO-8601 creation timestamp",
                          "type": "string"
                        },
                        "createdBy": {
                          "description": "User id that last wrote the configuration",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "Set when the configuration has been deleted.",
                          "type": "string"
                        },
                        "enabled": {
                          "description": "Whether the watermark is enforced on assets generated in this scope. A\ndisabled project configuration falls back to its team's.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "Stable identifier derived from level + scopeId",
                          "type": "string"
                        },
                        "level": {
                          "description": "Scope this configuration applies to: team or project",
                          "enum": [
                            "project",
                            "team"
                          ],
                          "type": "string"
                        },
                        "logoIsOpaque": {
                          "description": "Whether the stored logo has no transparency at all.\n\nRecorded at upload so the UI can warn without decoding the image again: an\nopaque logo draws its whole rectangle, which a rotated tiled mark turns\ninto a very visible diamond.",
                          "type": "boolean"
                        },
                        "logoKey": {
                          "description": "Where the uploaded logo lives, when one is set.",
                          "type": "string"
                        },
                        "opacity": {
                          "description": "Mark opacity, 0.05 (barely visible) to 1 (opaque)",
                          "type": "number"
                        },
                        "placement": {
                          "description": "Where the mark sits on the image",
                          "enum": [
                            "bottom-left",
                            "bottom-right",
                            "center",
                            "tiled",
                            "top-left",
                            "top-right"
                          ],
                          "type": "string"
                        },
                        "rotation": {
                          "description": "Mark rotation in degrees, -90 to 90. 0 is horizontal.",
                          "type": "number"
                        },
                        "scale": {
                          "description": "Mark width as a fraction of the image width",
                          "type": "number"
                        },
                        "scopeId": {
                          "description": "The id of the team or project that owns this configuration",
                          "type": "string"
                        },
                        "spacing": {
                          "description": "Gap between repetitions, as a fraction of the mark's own size. Tiled\nplacement only; 0 repeats the mark edge to edge.",
                          "type": "number"
                        },
                        "text": {
                          "description": "Text rendered as the mark, when no logo is set",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "ISO-8601 last-update timestamp",
                          "type": "string"
                        },
                        "version": {
                          "description": "Bumped on every write.",
                          "type": "number"
                        }
                      },
                      "required": [
                        "createdAt",
                        "createdBy",
                        "enabled",
                        "id",
                        "level",
                        "opacity",
                        "placement",
                        "rotation",
                        "scale",
                        "scopeId",
                        "spacing",
                        "updatedAt",
                        "version"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "watermark"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Body for PUT /teams/{teamId}/watermark/logo and\nPUT /projects/{projectId}/watermark/logo.",
                "properties": {
                  "logo": {
                    "description": "The logo image, base64-encoded, at most 1 MB and 4 megapixels once decoded.\nPNG, JPEG and WebP are accepted; SVG is refused. Stored as PNG.",
                    "type": "string"
                  }
                },
                "required": [
                  "logo"
                ],
                "type": "object"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteProjectWatermarkLogo",
        "description": "Remove the project's watermark logo, falling back to its configured text",
        "tags": [
          "Watermark"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "watermark": {
                      "additionalProperties": false,
                      "description": "Forced-watermark configuration stored at one scope.",
                      "properties": {
                        "createdAt": {
                          "description": "ISO-8601 creation timestamp",
                          "type": "string"
                        },
                        "createdBy": {
                          "description": "User id that last wrote the configuration",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "Set when the configuration has been deleted.",
                          "type": "string"
                        },
                        "enabled": {
                          "description": "Whether the watermark is enforced on assets generated in this scope. A\ndisabled project configuration falls back to its team's.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "Stable identifier derived from level + scopeId",
                          "type": "string"
                        },
                        "level": {
                          "description": "Scope this configuration applies to: team or project",
                          "enum": [
                            "project",
                            "team"
                          ],
                          "type": "string"
                        },
                        "logoIsOpaque": {
                          "description": "Whether the stored logo has no transparency at all.\n\nRecorded at upload so the UI can warn without decoding the image again: an\nopaque logo draws its whole rectangle, which a rotated tiled mark turns\ninto a very visible diamond.",
                          "type": "boolean"
                        },
                        "logoKey": {
                          "description": "Where the uploaded logo lives, when one is set.",
                          "type": "string"
                        },
                        "opacity": {
                          "description": "Mark opacity, 0.05 (barely visible) to 1 (opaque)",
                          "type": "number"
                        },
                        "placement": {
                          "description": "Where the mark sits on the image",
                          "enum": [
                            "bottom-left",
                            "bottom-right",
                            "center",
                            "tiled",
                            "top-left",
                            "top-right"
                          ],
                          "type": "string"
                        },
                        "rotation": {
                          "description": "Mark rotation in degrees, -90 to 90. 0 is horizontal.",
                          "type": "number"
                        },
                        "scale": {
                          "description": "Mark width as a fraction of the image width",
                          "type": "number"
                        },
                        "scopeId": {
                          "description": "The id of the team or project that owns this configuration",
                          "type": "string"
                        },
                        "spacing": {
                          "description": "Gap between repetitions, as a fraction of the mark's own size. Tiled\nplacement only; 0 repeats the mark edge to edge.",
                          "type": "number"
                        },
                        "text": {
                          "description": "Text rendered as the mark, when no logo is set",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "ISO-8601 last-update timestamp",
                          "type": "string"
                        },
                        "version": {
                          "description": "Bumped on every write.",
                          "type": "number"
                        }
                      },
                      "required": [
                        "createdAt",
                        "createdBy",
                        "enabled",
                        "id",
                        "level",
                        "opacity",
                        "placement",
                        "rotation",
                        "scale",
                        "scopeId",
                        "spacing",
                        "updatedAt",
                        "version"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "watermark"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/projects/{projectId}/watermark/preview": {
      "post": {
        "operationId": "PostProjectWatermarkPreview",
        "description": "Draw the given watermark settings on a sample image, without saving them",
        "tags": [
          "Watermark"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "description": "Response of the watermark preview routes.",
                  "properties": {
                    "image": {
                      "description": "The sample image with the mark drawn on it, base64-encoded.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "image"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Body for POST /teams/{teamId}/watermark/preview and its project twin.",
                "properties": {
                  "opacity": {
                    "default": 0.25,
                    "description": "Mark opacity, 0.05 (barely visible) to 1 (opaque)",
                    "maximum": 1,
                    "minimum": 0.05,
                    "type": "number"
                  },
                  "placement": {
                    "default": "tiled",
                    "description": "Where the mark sits on the image",
                    "enum": [
                      "bottom-left",
                      "bottom-right",
                      "center",
                      "tiled",
                      "top-left",
                      "top-right"
                    ],
                    "type": "string"
                  },
                  "rotation": {
                    "default": 0,
                    "description": "Mark rotation in degrees. 0 is horizontal, negative tilts it up.",
                    "maximum": 90,
                    "minimum": -90,
                    "type": "number"
                  },
                  "scale": {
                    "default": 0.2,
                    "description": "Mark width as a fraction of the image width",
                    "maximum": 1,
                    "minimum": 0.05,
                    "type": "number"
                  },
                  "spacing": {
                    "default": 0,
                    "description": "Gap between repetitions, as a fraction of the mark's own size. Only drawn\nfor the tiled placement; 0 repeats the mark edge to edge.",
                    "maximum": 2,
                    "minimum": 0,
                    "type": "number"
                  },
                  "text": {
                    "description": "Text to draw. Optional only because a logo can stand in for it.",
                    "maxLength": 64,
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/task-source": {
      "get": {
        "operationId": "GetProjectTaskSource",
        "description": "Get the project's task source: the endpoint that lists the tasks of the team's task tracker. The Authorization header value is never returned. Team admins only.",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "taskSource": {
                      "additionalProperties": false,
                      "description": "A project's task source. The Authorization header value is never returned.",
                      "properties": {
                        "body": {
                          "description": "JSON body sent with POST",
                          "type": "string"
                        },
                        "hasAuthorization": {
                          "description": "Whether an Authorization header value is stored",
                          "type": "boolean"
                        },
                        "mapping": {
                          "additionalProperties": false,
                          "description": "Where the tasks sit in the response, and which fields to read",
                          "properties": {
                            "id": {
                              "description": "Field of each task that holds its id (example: \"code\"). The id must be 1\nto 256 printable ASCII characters; a number is converted to a string.",
                              "maxLength": 256,
                              "minLength": 1,
                              "type": "string"
                            },
                            "name": {
                              "description": "Field of each task that holds its name (example: \"title\")",
                              "maxLength": 256,
                              "minLength": 1,
                              "type": "string"
                            },
                            "status": {
                              "description": "Field of each task that holds its status (example: \"state\")",
                              "maxLength": 256,
                              "minLength": 1,
                              "type": "string"
                            },
                            "tasksPath": {
                              "description": "Dot-separated path to the array of tasks in the response (example:\n\"data.items\"). An empty string means the response is the array itself.",
                              "maxLength": 256,
                              "type": "string"
                            }
                          },
                          "required": [
                            "id",
                            "tasksPath"
                          ],
                          "type": "object"
                        },
                        "method": {
                          "description": "HTTP method used to call the task source",
                          "enum": [
                            "GET",
                            "POST"
                          ],
                          "type": "string"
                        },
                        "parameters": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Query string parameters sent to the task source",
                          "type": "object"
                        },
                        "url": {
                          "description": "https URL of the task source",
                          "type": "string"
                        }
                      },
                      "required": [
                        "hasAuthorization",
                        "mapping",
                        "method",
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "taskSource"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "operationId": "PutProjectTaskSource",
        "description": "Create or replace the project's task source. Scenario calls the endpoint first and saves it only if the response holds tasks it can read with the mapping. The Authorization value is stored encrypted; null removes it. Enterprise only, team admins only.",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "exchange": {
                      "additionalProperties": false,
                      "description": "The validation call. A 400 from a failed call carries it as\n`details.exchange`.",
                      "properties": {
                        "durationMs": {
                          "description": "Time from sending the request to reading the whole response",
                          "type": "number"
                        },
                        "request": {
                          "additionalProperties": false,
                          "description": "The request Scenario sent to the task source, placeholders filled",
                          "properties": {
                            "body": {
                              "description": "Body sent with POST",
                              "type": "string"
                            },
                            "headers": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Headers set by Scenario; the Authorization value is masked",
                              "type": "object"
                            },
                            "method": {
                              "description": "HTTP method Scenario uses to call a task source.",
                              "enum": [
                                "GET",
                                "POST"
                              ],
                              "type": "string"
                            },
                            "url": {
                              "description": "Full URL, query string included",
                              "type": "string"
                            }
                          },
                          "required": [
                            "headers",
                            "method",
                            "url"
                          ],
                          "type": "object"
                        },
                        "response": {
                          "additionalProperties": false,
                          "description": "Absent when no response came back (DNS, TLS, timeout): the error explains why",
                          "properties": {
                            "body": {
                              "description": "Raw response body, truncated at 65,536 characters",
                              "type": "string"
                            },
                            "headers": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Response headers; a Set-Cookie value is masked",
                              "type": "object"
                            },
                            "isBodyTruncated": {
                              "description": "Whether `body` was truncated",
                              "type": "boolean"
                            },
                            "status": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "body",
                            "headers",
                            "status"
                          ],
                          "type": "object"
                        }
                      },
                      "required": [
                        "request"
                      ],
                      "type": "object"
                    },
                    "taskSource": {
                      "additionalProperties": false,
                      "description": "A project's task source. The Authorization header value is never returned.",
                      "properties": {
                        "body": {
                          "description": "JSON body sent with POST",
                          "type": "string"
                        },
                        "hasAuthorization": {
                          "description": "Whether an Authorization header value is stored",
                          "type": "boolean"
                        },
                        "mapping": {
                          "additionalProperties": false,
                          "description": "Where the tasks sit in the response, and which fields to read",
                          "properties": {
                            "id": {
                              "description": "Field of each task that holds its id (example: \"code\"). The id must be 1\nto 256 printable ASCII characters; a number is converted to a string.",
                              "maxLength": 256,
                              "minLength": 1,
                              "type": "string"
                            },
                            "name": {
                              "description": "Field of each task that holds its name (example: \"title\")",
                              "maxLength": 256,
                              "minLength": 1,
                              "type": "string"
                            },
                            "status": {
                              "description": "Field of each task that holds its status (example: \"state\")",
                              "maxLength": 256,
                              "minLength": 1,
                              "type": "string"
                            },
                            "tasksPath": {
                              "description": "Dot-separated path to the array of tasks in the response (example:\n\"data.items\"). An empty string means the response is the array itself.",
                              "maxLength": 256,
                              "type": "string"
                            }
                          },
                          "required": [
                            "id",
                            "tasksPath"
                          ],
                          "type": "object"
                        },
                        "method": {
                          "description": "HTTP method used to call the task source",
                          "enum": [
                            "GET",
                            "POST"
                          ],
                          "type": "string"
                        },
                        "parameters": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Query string parameters sent to the task source",
                          "type": "object"
                        },
                        "url": {
                          "description": "https URL of the task source",
                          "type": "string"
                        }
                      },
                      "required": [
                        "hasAuthorization",
                        "mapping",
                        "method",
                        "url"
                      ],
                      "type": "object"
                    },
                    "tasks": {
                      "description": "The first tasks the task source returned during the validation call",
                      "items": {
                        "additionalProperties": false,
                        "description": "A task listed by a project's task source",
                        "properties": {
                          "id": {
                            "description": "The task id, to send in the X-Scenario-Task-Id header",
                            "type": "string"
                          },
                          "name": {
                            "description": "The task name",
                            "type": "string"
                          },
                          "status": {
                            "description": "The task status",
                            "type": "string"
                          }
                        },
                        "required": [
                          "id"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "exchange",
                    "taskSource",
                    "tasks"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Body of PUT /projects/{projectId}/task-source",
                "properties": {
                  "authorization": {
                    "description": "Value of the Authorization header sent to the task source (example:\n\"Bearer abc\"). Never returned. Omit it to use the stored value, or set it\nto null to send none. Omitting it is refused when the URL's scheme, host\nor port changes.",
                    "maxLength": 4096,
                    "minLength": 1,
                    "type": "string"
                  },
                  "body": {
                    "description": "JSON text sent as the body of a POST, with `Content-Type:\napplication/json`. The placeholders are replaced inside its string values.\nRefused with GET. Never put a credential in it: only `authorization` is\nstored as a secret.",
                    "maxLength": 10000,
                    "minLength": 1,
                    "type": "string"
                  },
                  "mapping": {
                    "additionalProperties": false,
                    "description": "Where the tasks sit in the response, and which fields to read",
                    "properties": {
                      "id": {
                        "description": "Field of each task that holds its id (example: \"code\"). The id must be 1\nto 256 printable ASCII characters; a number is converted to a string.",
                        "maxLength": 256,
                        "minLength": 1,
                        "type": "string"
                      },
                      "name": {
                        "description": "Field of each task that holds its name (example: \"title\")",
                        "maxLength": 256,
                        "minLength": 1,
                        "type": "string"
                      },
                      "status": {
                        "description": "Field of each task that holds its status (example: \"state\")",
                        "maxLength": 256,
                        "minLength": 1,
                        "type": "string"
                      },
                      "tasksPath": {
                        "description": "Dot-separated path to the array of tasks in the response (example:\n\"data.items\"). An empty string means the response is the array itself.",
                        "maxLength": 256,
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "tasksPath"
                    ],
                    "type": "object"
                  },
                  "method": {
                    "description": "HTTP method used to call the task source",
                    "enum": [
                      "GET",
                      "POST"
                    ],
                    "type": "string"
                  },
                  "parameters": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Query string parameters, sent with GET and POST: at most 20, names of 1\nto 256 characters, values up to 1,024. Values may contain the same\nplaceholders as `url`. Never put a credential in them: only\n`authorization` is stored as a secret.",
                    "type": "object"
                  },
                  "url": {
                    "description": "https URL of the task source. It may contain the placeholders\n`{user.email}`, `{user.id}` and `{project.id}`, replaced on each call.\nNever put a credential in it: only `authorization` is stored as a secret.",
                    "maxLength": 4096,
                    "type": "string"
                  }
                },
                "required": [
                  "mapping",
                  "method",
                  "url"
                ],
                "type": "object"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteProjectTaskSource",
        "description": "Delete the project's task source. Team admins only.",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "deleted": {
                      "description": "Whether a task source was configured and is now deleted",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "deleted"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/projects/{projectId}/task-source/test": {
      "post": {
        "operationId": "PostProjectTaskSourceTest",
        "description": "Call a task source with the same checks as saving it, without saving it, and return the request sent, the response received and the arrays of objects it holds, to build the mapping from. The mapping is optional here. An omitted authorization uses the stored one. Enterprise only, team admins only.",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "candidates": {
                      "description": "The arrays of objects in the response, to build the mapping. A 400 from a\nmapping that does not fit carries them as `details.candidates`.",
                      "items": {
                        "additionalProperties": false,
                        "description": "An array of objects found in the response: a possible mapping.tasksPath",
                        "properties": {
                          "count": {
                            "description": "Number of entries in the array",
                            "type": "number"
                          },
                          "fields": {
                            "description": "String and number fields of the entries",
                            "items": {
                              "additionalProperties": false,
                              "description": "A field of the entries of a candidate array",
                              "properties": {
                                "isIdCandidate": {
                                  "description": "Whether every entry holds a distinct, valid task id at this path",
                                  "type": "boolean"
                                },
                                "path": {
                                  "description": "Dot-separated path in an entry, for mapping.id, name or status",
                                  "type": "string"
                                },
                                "sample": {
                                  "description": "The value of the first entry that has one",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "isIdCandidate",
                                "path",
                                "sample"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "tasksPath": {
                            "description": "Value for mapping.tasksPath; empty when the response is the array itself",
                            "type": "string"
                          }
                        },
                        "required": [
                          "count",
                          "fields",
                          "tasksPath"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "exchange": {
                      "additionalProperties": false,
                      "description": "The test call. A 400 from a failed call carries it as `details.exchange`.",
                      "properties": {
                        "durationMs": {
                          "description": "Time from sending the request to reading the whole response",
                          "type": "number"
                        },
                        "request": {
                          "additionalProperties": false,
                          "description": "The request Scenario sent to the task source, placeholders filled",
                          "properties": {
                            "body": {
                              "description": "Body sent with POST",
                              "type": "string"
                            },
                            "headers": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Headers set by Scenario; the Authorization value is masked",
                              "type": "object"
                            },
                            "method": {
                              "description": "HTTP method Scenario uses to call a task source.",
                              "enum": [
                                "GET",
                                "POST"
                              ],
                              "type": "string"
                            },
                            "url": {
                              "description": "Full URL, query string included",
                              "type": "string"
                            }
                          },
                          "required": [
                            "headers",
                            "method",
                            "url"
                          ],
                          "type": "object"
                        },
                        "response": {
                          "additionalProperties": false,
                          "description": "Absent when no response came back (DNS, TLS, timeout): the error explains why",
                          "properties": {
                            "body": {
                              "description": "Raw response body, truncated at 65,536 characters",
                              "type": "string"
                            },
                            "headers": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Response headers; a Set-Cookie value is masked",
                              "type": "object"
                            },
                            "isBodyTruncated": {
                              "description": "Whether `body` was truncated",
                              "type": "boolean"
                            },
                            "status": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "body",
                            "headers",
                            "status"
                          ],
                          "type": "object"
                        }
                      },
                      "required": [
                        "request"
                      ],
                      "type": "object"
                    },
                    "tasks": {
                      "description": "The first tasks read with the mapping; empty without a mapping",
                      "items": {
                        "additionalProperties": false,
                        "description": "A task listed by a project's task source",
                        "properties": {
                          "id": {
                            "description": "The task id, to send in the X-Scenario-Task-Id header",
                            "type": "string"
                          },
                          "name": {
                            "description": "The task name",
                            "type": "string"
                          },
                          "status": {
                            "description": "The task status",
                            "type": "string"
                          }
                        },
                        "required": [
                          "id"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "candidates",
                    "exchange",
                    "tasks"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Body of POST /projects/{projectId}/task-source/test: the PUT body, with an\noptional mapping",
                "properties": {
                  "authorization": {
                    "description": "Value of the Authorization header sent to the task source (example:\n\"Bearer abc\"). Never returned. Omit it to use the stored value, or set it\nto null to send none. Omitting it is refused when the URL's scheme, host\nor port changes.",
                    "maxLength": 4096,
                    "minLength": 1,
                    "type": "string"
                  },
                  "body": {
                    "description": "JSON text sent as the body of a POST, with `Content-Type:\napplication/json`. The placeholders are replaced inside its string values.\nRefused with GET. Never put a credential in it: only `authorization` is\nstored as a secret.",
                    "maxLength": 10000,
                    "minLength": 1,
                    "type": "string"
                  },
                  "mapping": {
                    "additionalProperties": false,
                    "description": "Where the tasks sit in the response, and which fields to read. Optional\nhere: without it, `tasks` is empty and `candidates` helps build it.",
                    "properties": {
                      "id": {
                        "description": "Field of each task that holds its id (example: \"code\"). The id must be 1\nto 256 printable ASCII characters; a number is converted to a string.",
                        "maxLength": 256,
                        "minLength": 1,
                        "type": "string"
                      },
                      "name": {
                        "description": "Field of each task that holds its name (example: \"title\")",
                        "maxLength": 256,
                        "minLength": 1,
                        "type": "string"
                      },
                      "status": {
                        "description": "Field of each task that holds its status (example: \"state\")",
                        "maxLength": 256,
                        "minLength": 1,
                        "type": "string"
                      },
                      "tasksPath": {
                        "description": "Dot-separated path to the array of tasks in the response (example:\n\"data.items\"). An empty string means the response is the array itself.",
                        "maxLength": 256,
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "tasksPath"
                    ],
                    "type": "object"
                  },
                  "method": {
                    "description": "HTTP method used to call the task source",
                    "enum": [
                      "GET",
                      "POST"
                    ],
                    "type": "string"
                  },
                  "parameters": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Query string parameters, sent with GET and POST: at most 20, names of 1\nto 256 characters, values up to 1,024. Values may contain the same\nplaceholders as `url`. Never put a credential in them: only\n`authorization` is stored as a secret.",
                    "type": "object"
                  },
                  "url": {
                    "description": "https URL of the task source. It may contain the placeholders\n`{user.email}`, `{user.id}` and `{project.id}`, replaced on each call.\nNever put a credential in it: only `authorization` is stored as a secret.",
                    "maxLength": 4096,
                    "type": "string"
                  }
                },
                "required": [
                  "method",
                  "url"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/tasks": {
      "get": {
        "operationId": "GetProjectTasks",
        "description": "List the tasks of the project's task source for the current user, to send one in the X-Scenario-Task-Id header. Returns 502 when the task source fails. Enterprise only.",
        "tags": [
          "Projects"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "description": "The project ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "tasks": {
                      "description": "The tasks of the task source, at most 1,000. Entries without a valid id\nare skipped, and a repeated id keeps its first entry.",
                      "items": {
                        "additionalProperties": false,
                        "description": "A task listed by a project's task source",
                        "properties": {
                          "id": {
                            "description": "The task id, to send in the X-Scenario-Task-Id header",
                            "type": "string"
                          },
                          "name": {
                            "description": "The task name",
                            "type": "string"
                          },
                          "status": {
                            "description": "The task status",
                            "type": "string"
                          }
                        },
                        "required": [
                          "id"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "tasks"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/usages": {
      "get": {
        "operationId": "GetUsages",
        "description": "Provide usage data for the given filters. Such as consumed compute units, number of assets generated, etc. Maximum time range with custom startDate and endDate is 120 days. Granularity is calculated based on the time range.",
        "tags": [
          "Usage"
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "query",
            "required": false,
            "description": "The team identifier for usage data. If omitted, the default team will be used.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectIds",
            "in": "query",
            "required": false,
            "description": "The project ids for filtering the usage data. If not provided, use all projects. Can be one or more comma separated values.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "query",
            "required": false,
            "description": "The unique identifier of the user for the usage. If not provided, returns all usages for the team.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userIds",
            "in": "query",
            "required": false,
            "description": "The unique identifiers of the users for filtering the usage data. If not provided, use all users. Can be one or more comma separated values.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "taskIds",
            "in": "query",
            "required": false,
            "description": "The task ids for filtering the usage data, as sent in the `X-Scenario-Task-Id` header. Comma-separated, at most 100, each 1 to 256 printable ASCII characters with no leading or trailing space; any other value returns a 400. A task id that contains a comma cannot be filtered on. If not provided, returns all usage, with or without a task id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "required": false,
            "description": "The start date of the usage in ISO 8601 format. If not provided, use default timeRange. If provided, endDate is required.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "required": false,
            "description": "The end date of the usage in ISO 8601 format. If not provided, use default timeRange. If provided, startDate is required.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timeRange",
            "in": "query",
            "required": false,
            "description": "The time range of the usage. If not provided, use default timeRange. If startDate and endDate provided, timeRange is ignored.",
            "schema": {
              "type": "string",
              "default": "last-thirty-one-days",
              "enum": [
                "last-hour",
                "last-day",
                "last-three-days",
                "last-seven-days",
                "last-thirty-one-days"
              ]
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "The type of the usage data. Can be one or more comma separated values. Can be any of the following values: usages, activity, consumption, model-usages, asset-usages, nsfw-usages, quality-gate-usages, task-ids. Default is all types except `task-ids`, returned only when requested. If bad type or empty, all types will be returned.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "usages",
                  "activity",
                  "consumption",
                  "model-usages",
                  "asset-usages",
                  "nsfw-usages",
                  "quality-gate-usages",
                  "task-ids"
                ]
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "activityOffset",
            "in": "query",
            "required": false,
            "description": "The offset for the activity data. Default is 0. If bad offset or empty, 0 will be returned. Must be a positive integer.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "dropZeroPoints",
            "in": "query",
            "required": false,
            "description": "When set, points whose numeric fields are all zero are removed from `usages`, `modelUsages`, `assetUsages`, `nsfwUsages` and `qualityGateUsages`. The parent entry (model, kind, label, usageName) is preserved with `points: []` so callers still see every row. Useful on wide windows × fine granularities × many models, where the zero-fill can push the response past the 6 MB API Gateway sync limit. The bare `?dropZeroPoints` form, plus any value (`true`, `1`, `yes`, `on`, …) enables it; absent or explicit falsy literals (`false`, `0`, `no`, `off`) disable it. Default disabled for backwards compatibility.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "usages": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "granularity": {
                            "description": "Granularity for points (example: \"1d\", \"1h\", \"1m\", \"15m\")",
                            "enum": [
                              "15m",
                              "1d",
                              "1h",
                              "1m",
                              "30m",
                              "5m",
                              "7d"
                            ],
                            "type": "string"
                          },
                          "points": {
                            "description": "The usage data points",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "apiKey": {
                                  "description": "Value of the point for API key only",
                                  "type": "string"
                                },
                                "apiKeyCost": {
                                  "description": "Cost in Compute Units for the point restricted to API-key calls\n(mirrors the `apiKey` value field but on the cost axis).",
                                  "type": "number"
                                },
                                "apiKeyDiscount": {
                                  "description": "Discount in Compute Units for the point restricted to API-key calls.",
                                  "type": "number"
                                },
                                "cost": {
                                  "description": "Cost in Compute Units for the point.\nOnly populated for usage actions that carry a CU cost (generations,\ntrainings, etc.). Free actions like `delete-asset` or `tag-asset`\nwill report `0`.",
                                  "type": "number"
                                },
                                "discount": {
                                  "description": "Discount applied in Compute Units for the point. Only populated for usage actions that carry a CU\ndiscount.",
                                  "type": "number"
                                },
                                "time": {
                                  "description": "The UTC ISO date of the point",
                                  "type": "string"
                                },
                                "value": {
                                  "description": "Value of the point",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "apiKey",
                                "time",
                                "value"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "usageName": {
                            "description": "Name of the usage points (example: \"images-generation\", \"generators-training\", \"background-removal\", \"upscale\", ...)",
                            "enum": [
                              "background-removal",
                              "captioning",
                              "creative-unit-cost",
                              "creative-unit-discount",
                              "custom",
                              "custom-asset-created",
                              "detection",
                              "image-prompt-editing",
                              "images-generation",
                              "ip-detection",
                              "models-training",
                              "patch",
                              "pixelate",
                              "refunds",
                              "repaint",
                              "restyle",
                              "segmentation",
                              "skybox-base-360",
                              "skybox-upscale-360",
                              "texture",
                              "upscale",
                              "vectorization"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "granularity",
                          "points",
                          "usageName"
                        ],
                        "type": "object"
                      }
                    },
                    "activity": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "description": "Activity entries listed in the activities results order by time DESC\nDefault limit of 100 entries. If you have 100 entries in your result,\nyou can use the activityOffset parameter to get the next page of results.\nWe recommend you to make the same request with type=activity only (to avoid reload everything)\nAnd apply the activityOffset=100 to get the next page of results.\nContains basic infos about each relevant actions",
                        "properties": {
                          "action": {
                            "description": "The action name",
                            "enum": [
                              "asset",
                              "asset-privacy",
                              "assistant-message",
                              "background-removal",
                              "byok-remove-project-provider",
                              "byok-remove-provider",
                              "byok-set-project-provider",
                              "byok-set-provider",
                              "captioning",
                              "collection",
                              "collection-assets",
                              "collection-models",
                              "controlnet",
                              "controlnet-img2img",
                              "controlnet-inpaint",
                              "controlnet-ip-adapter",
                              "controlnet-texture",
                              "copy-asset",
                              "copy-model",
                              "creative-unit-cost",
                              "creative-unit-discount",
                              "custom",
                              "custom-asset-created",
                              "delete-asset",
                              "delete-collection",
                              "delete-collection-assets",
                              "delete-collection-models",
                              "delete-inference-image",
                              "delete-model",
                              "delete-model-preset",
                              "delete-oscu-auto-refill",
                              "delete-project-api-key",
                              "delete-project-member",
                              "delete-subscription",
                              "delete-team-api-key",
                              "delete-team-invitations",
                              "delete-team-member",
                              "delete-training-images",
                              "describe-style",
                              "detection",
                              "disable-project-model",
                              "disable-team-model",
                              "download-assets",
                              "download-model",
                              "embed",
                              "enable-project-model",
                              "enable-team-model",
                              "generative-fill",
                              "image-prompt-editing",
                              "images-generation",
                              "img2img",
                              "img2img-ip-adapter",
                              "img2img-texture",
                              "inference",
                              "inpaint",
                              "inpaint-ip-adapter",
                              "ip-detection",
                              "model",
                              "model-preset",
                              "models-training",
                              "oscu",
                              "patch",
                              "pixelate",
                              "project",
                              "project-api-key",
                              "project-member",
                              "reframe",
                              "refunds",
                              "repaint",
                              "restyle",
                              "segmentation",
                              "skybox-base-360",
                              "skybox-upscale-360",
                              "start-train",
                              "subscription",
                              "subscription-seats",
                              "tag-asset",
                              "tag-model",
                              "team-api-key",
                              "team-member",
                              "texture",
                              "train-succeeded",
                              "training-images-to-model",
                              "transfer-model",
                              "txt2img",
                              "txt2img-ip-adapter",
                              "update-asset",
                              "update-collection",
                              "update-model",
                              "update-model-description",
                              "update-model-examples",
                              "update-model-prompt-guide",
                              "update-oscu-auto-refill",
                              "update-project",
                              "update-project-instructions",
                              "update-subscription",
                              "update-team",
                              "update-team-instructions",
                              "update-team-member",
                              "upscale",
                              "vectorization"
                            ],
                            "type": "string"
                          },
                          "creativeUnitsCost": {
                            "description": "The Compute Units cost for this action",
                            "type": "number"
                          },
                          "data": {
                            "additionalProperties": false,
                            "description": "The additional data of the action",
                            "properties": {
                              "assetId": {
                                "description": "The asset for this action",
                                "type": "string"
                              },
                              "byokProvider": {
                                "additionalProperties": false,
                                "description": "The BYOK provider information for this action\nOnly set if the action is a BYOK action (byok-set-provider or byok-remove-provider)",
                                "properties": {
                                  "displayName": {
                                    "type": "string"
                                  },
                                  "id": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "displayName",
                                  "id"
                                ],
                                "type": "object"
                              },
                              "collectionId": {
                                "description": "The collection for this action",
                                "type": "string"
                              },
                              "isApiKey": {
                                "description": "Whether the action is an API key action",
                                "type": "boolean"
                              },
                              "jobId": {
                                "description": "The job for this action",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model for this action",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "projectId": {
                            "description": "The projectId of the project for this action",
                            "type": "string"
                          },
                          "time": {
                            "description": "The UTC ISO date of the point",
                            "type": "string"
                          },
                          "userId": {
                            "description": "The unique identifier of the user for this action",
                            "type": "string"
                          }
                        },
                        "required": [
                          "action",
                          "data",
                          "projectId",
                          "time",
                          "userId"
                        ],
                        "type": "object"
                      }
                    },
                    "consumption": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "description": "Consumption entries sorted in descending order by consumption value.\n\nThere is no limit on the number of entries",
                        "properties": {
                          "costDetails": {
                            "additionalProperties": false,
                            "description": "Compute Units consumed per billing action, when a breakdown is available\n(example: `{ \"quality-gate\": 12 }`). Values are included in `value`.",
                            "type": "object"
                          },
                          "discount": {
                            "description": "The Compute Units discount for the user",
                            "type": "number"
                          },
                          "total": {
                            "description": "The total consumption for the user (value + discount)",
                            "type": "number"
                          },
                          "userId": {
                            "description": "The unique identifier of the user",
                            "type": "string"
                          },
                          "value": {
                            "description": "The Compute Units consumption for the user",
                            "type": "number"
                          }
                        },
                        "required": [
                          "discount",
                          "total",
                          "userId",
                          "value"
                        ],
                        "type": "object"
                      }
                    },
                    "modelUsages": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "modelId": {
                            "type": "string"
                          },
                          "points": {
                            "description": "The data points",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "apiKeyCost": {
                                  "description": "Cost for model usage for API key only",
                                  "type": "number"
                                },
                                "apiKeyDiscount": {
                                  "description": "The discount for model usage for API key only",
                                  "type": "number"
                                },
                                "cost": {
                                  "description": "Cost for model usage",
                                  "type": "number"
                                },
                                "discount": {
                                  "description": "The discount for model usage",
                                  "type": "number"
                                },
                                "jobs": {
                                  "description": "Number of jobs for the model usage",
                                  "type": "number"
                                },
                                "time": {
                                  "description": "The UTC ISO date of the point",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "apiKeyCost",
                                "apiKeyDiscount",
                                "cost",
                                "discount",
                                "jobs",
                                "time"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          }
                        },
                        "required": [
                          "modelId",
                          "points"
                        ],
                        "type": "object"
                      }
                    },
                    "assetUsages": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "kind": {
                            "enum": [
                              "3d",
                              "audio",
                              "document",
                              "image",
                              "image-hdr",
                              "json",
                              "text",
                              "video"
                            ],
                            "type": "string"
                          },
                          "points": {
                            "description": "The data points",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "count": {
                                  "description": "Number of assets created",
                                  "type": "number"
                                },
                                "countApiKey": {
                                  "description": "Number of assets created via an API key",
                                  "type": "number"
                                },
                                "time": {
                                  "description": "The UTC ISO date of the point",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "count",
                                "countApiKey",
                                "time"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          }
                        },
                        "required": [
                          "kind",
                          "points"
                        ],
                        "type": "object"
                      }
                    },
                    "nsfwUsages": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "label": {
                            "type": "string"
                          },
                          "points": {
                            "description": "The data points",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "count": {
                                  "description": "Number of NSFW assets created",
                                  "type": "number"
                                },
                                "countApiKey": {
                                  "description": "Number of NSFW assets created via an API key",
                                  "type": "number"
                                },
                                "time": {
                                  "description": "The UTC ISO date of the point",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "count",
                                "countApiKey",
                                "time"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          }
                        },
                        "required": [
                          "label",
                          "points"
                        ],
                        "type": "object"
                      }
                    },
                    "qualityGateUsages": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "description": "A Quality Gate verdict series: one per bucket (total | pass | warn | fail).",
                        "properties": {
                          "points": {
                            "description": "The data points",
                            "items": {
                              "additionalProperties": false,
                              "description": "One time-bucket point in a Quality Gate verdict series.",
                              "properties": {
                                "count": {
                                  "description": "Distinct scored assets in this bucket for this verdict",
                                  "type": "number"
                                },
                                "countApiKey": {
                                  "description": "Of `count`, the number of assets generated via an API key.",
                                  "type": "number"
                                },
                                "time": {
                                  "description": "The UTC ISO date of the point",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "count",
                                "countApiKey",
                                "time"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "verdict": {
                            "description": "The verdict bucket: \"total\", \"pass\", \"warn\", or \"fail\"",
                            "type": "string"
                          }
                        },
                        "required": [
                          "points",
                          "verdict"
                        ],
                        "type": "object"
                      }
                    },
                    "taskIds": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "The task ids sent with the requests of the period, at most 1000, most recently used first, when `type` includes `task-ids`. Filtered by the same parameters as the other types, except `taskIds`."
                    },
                    "entities": {
                      "additionalProperties": false,
                      "properties": {
                        "assets": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "id": {
                                "description": "The asset ID",
                                "type": "string"
                              },
                              "kind": {
                                "description": "The kind of the asset",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "metadata": {
                                "additionalProperties": false,
                                "description": "Partial metadata of the asset",
                                "properties": {
                                  "type": {
                                    "description": "The type of the asset",
                                    "enum": [
                                      "3d-texture",
                                      "3d-texture-albedo",
                                      "3d-texture-metallic",
                                      "3d-texture-mtl",
                                      "3d-texture-normal",
                                      "3d-texture-roughness",
                                      "3d23d",
                                      "3d23d-texture",
                                      "audio2audio",
                                      "audio2txt",
                                      "audio2video",
                                      "background-removal",
                                      "canvas",
                                      "canvas-drawing",
                                      "canvas-export",
                                      "detection",
                                      "generative-fill",
                                      "image-prompt-editing",
                                      "img23d",
                                      "img2img",
                                      "img2splat",
                                      "img2txt",
                                      "img2video",
                                      "inference-controlnet",
                                      "inference-controlnet-img2img",
                                      "inference-controlnet-inpaint",
                                      "inference-controlnet-inpaint-ip-adapter",
                                      "inference-controlnet-ip-adapter",
                                      "inference-controlnet-reference",
                                      "inference-controlnet-texture",
                                      "inference-img2img",
                                      "inference-img2img-ip-adapter",
                                      "inference-img2img-texture",
                                      "inference-inpaint",
                                      "inference-inpaint-ip-adapter",
                                      "inference-reference",
                                      "inference-reference-texture",
                                      "inference-txt2img",
                                      "inference-txt2img-ip-adapter",
                                      "inference-txt2img-texture",
                                      "patch",
                                      "pixelization",
                                      "reframe",
                                      "restyle",
                                      "segment",
                                      "segmentation-image",
                                      "segmentation-mask",
                                      "skybox-3d",
                                      "skybox-base-360",
                                      "skybox-hdri",
                                      "texture",
                                      "texture-albedo",
                                      "texture-ao",
                                      "texture-edge",
                                      "texture-height",
                                      "texture-metallic",
                                      "texture-normal",
                                      "texture-smoothness",
                                      "txt23d",
                                      "txt2audio",
                                      "txt2img",
                                      "txt2txt",
                                      "txt2video",
                                      "unknown",
                                      "uploaded",
                                      "uploaded-3d",
                                      "uploaded-audio",
                                      "uploaded-avatar",
                                      "uploaded-text",
                                      "uploaded-video",
                                      "upscale",
                                      "upscale-skybox",
                                      "upscale-texture",
                                      "upscale-video",
                                      "vectorization",
                                      "video23d",
                                      "video2audio",
                                      "video2img",
                                      "video2txt",
                                      "video2video",
                                      "voice-clone"
                                    ],
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "type"
                                ],
                                "type": "object"
                              },
                              "properties": {
                                "additionalProperties": false,
                                "description": "The properties of the asset",
                                "properties": {
                                  "animationFrameCount": {
                                    "description": "Number of animation frames if animations exist",
                                    "type": "number"
                                  },
                                  "bitrate": {
                                    "description": "Bitrate of the media in bits per second",
                                    "type": "number"
                                  },
                                  "boneCount": {
                                    "description": "Number of bones if skeleton exists",
                                    "type": "number"
                                  },
                                  "cameraMode": {
                                    "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                                    "enum": [
                                      "aerial",
                                      "interior",
                                      "turntable"
                                    ],
                                    "type": "string"
                                  },
                                  "cameraTrajectory": {
                                    "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                      "properties": {
                                        "fov": {
                                          "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                          "type": "number"
                                        },
                                        "position": {
                                          "description": "Camera eye position in the splat's world frame.",
                                          "items": {
                                            "type": "number"
                                          },
                                          "maxItems": 3,
                                          "minItems": 3,
                                          "type": "array"
                                        },
                                        "target": {
                                          "description": "Look-at point in the splat's world frame.",
                                          "items": {
                                            "type": "number"
                                          },
                                          "maxItems": 3,
                                          "minItems": 3,
                                          "type": "array"
                                        }
                                      },
                                      "required": [
                                        "position",
                                        "target"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "channels": {
                                    "description": "Number of channels of the audio",
                                    "type": "number"
                                  },
                                  "charCount": {
                                    "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                                    "type": "number"
                                  },
                                  "classification": {
                                    "description": "Classification of the audio",
                                    "enum": [
                                      "effect",
                                      "interview",
                                      "music",
                                      "other",
                                      "sound",
                                      "speech",
                                      "text",
                                      "unknown"
                                    ],
                                    "type": "string"
                                  },
                                  "codecName": {
                                    "description": "Codec name of the media",
                                    "type": "string"
                                  },
                                  "description": {
                                    "description": "Description of the audio",
                                    "type": "string"
                                  },
                                  "dimensions": {
                                    "description": "Bounding box dimensions [width, height, depth]",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "duration": {
                                    "description": "Duration of the media in seconds",
                                    "type": "number"
                                  },
                                  "faceCount": {
                                    "description": "Number of faces/triangles in the mesh",
                                    "type": "number"
                                  },
                                  "format": {
                                    "description": "Format of the mesh file (e.g. 'glb', etc.)",
                                    "type": "string"
                                  },
                                  "frameRate": {
                                    "description": "Frame rate of the video in frames per second",
                                    "type": "number"
                                  },
                                  "hasAnimations": {
                                    "description": "Whether the mesh has animations",
                                    "type": "boolean"
                                  },
                                  "hasFullPreview": {
                                    "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                                    "type": "boolean"
                                  },
                                  "hasNormals": {
                                    "description": "Whether the mesh has normal vectors",
                                    "type": "boolean"
                                  },
                                  "hasSkeleton": {
                                    "description": "Whether the mesh has bones/skeleton",
                                    "type": "boolean"
                                  },
                                  "hasUVs": {
                                    "description": "Whether the mesh has UV coordinates",
                                    "type": "boolean"
                                  },
                                  "height": {
                                    "type": "number"
                                  },
                                  "nbFrames": {
                                    "description": "Number of frames in the video",
                                    "type": "number"
                                  },
                                  "preview": {
                                    "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                                    "type": "string"
                                  },
                                  "sampleRate": {
                                    "description": "Sample rate of the media in Hz",
                                    "type": "number"
                                  },
                                  "size": {
                                    "type": "number"
                                  },
                                  "transcription": {
                                    "additionalProperties": false,
                                    "description": "Transcription of the audio",
                                    "properties": {
                                      "text": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "text"
                                    ],
                                    "type": "object"
                                  },
                                  "vertexCount": {
                                    "description": "Number of vertices in the mesh",
                                    "type": "number"
                                  },
                                  "width": {
                                    "type": "number"
                                  },
                                  "wordCount": {
                                    "description": "Number of whitespace-separated words in the text",
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "size"
                                ],
                                "type": "object"
                              },
                              "source": {
                                "description": "The source of the asset",
                                "enum": [
                                  "3d23d",
                                  "3d23d:texture",
                                  "3d:texture",
                                  "3d:texture:albedo",
                                  "3d:texture:metallic",
                                  "3d:texture:mtl",
                                  "3d:texture:normal",
                                  "3d:texture:roughness",
                                  "audio2audio",
                                  "audio2txt",
                                  "audio2video",
                                  "background-removal",
                                  "canvas",
                                  "canvas-drawing",
                                  "canvas-export",
                                  "detection",
                                  "generative-fill",
                                  "image-prompt-editing",
                                  "img23d",
                                  "img2img",
                                  "img2splat",
                                  "img2txt",
                                  "img2video",
                                  "inference-control-net",
                                  "inference-control-net-img",
                                  "inference-control-net-inpainting",
                                  "inference-control-net-inpainting-ip-adapter",
                                  "inference-control-net-ip-adapter",
                                  "inference-control-net-reference",
                                  "inference-control-net-texture",
                                  "inference-img",
                                  "inference-img-ip-adapter",
                                  "inference-img-texture",
                                  "inference-in-paint",
                                  "inference-in-paint-ip-adapter",
                                  "inference-reference",
                                  "inference-reference-texture",
                                  "inference-txt",
                                  "inference-txt-ip-adapter",
                                  "inference-txt-texture",
                                  "patch",
                                  "pixelization",
                                  "reframe",
                                  "restyle",
                                  "segment",
                                  "segmentation-image",
                                  "segmentation-mask",
                                  "skybox-3d",
                                  "skybox-base-360",
                                  "skybox-hdri",
                                  "texture",
                                  "texture:albedo",
                                  "texture:ao",
                                  "texture:edge",
                                  "texture:height",
                                  "texture:metallic",
                                  "texture:normal",
                                  "texture:smoothness",
                                  "txt23d",
                                  "txt2audio",
                                  "txt2img",
                                  "txt2txt",
                                  "txt2video",
                                  "unknown",
                                  "uploaded",
                                  "uploaded-3d",
                                  "uploaded-audio",
                                  "uploaded-avatar",
                                  "uploaded-text",
                                  "uploaded-video",
                                  "upscale",
                                  "upscale-skybox",
                                  "upscale-texture",
                                  "upscale-video",
                                  "vectorization",
                                  "video23d",
                                  "video2audio",
                                  "video2img",
                                  "video2txt",
                                  "video2video",
                                  "voice-clone"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "id",
                              "kind",
                              "metadata",
                              "properties",
                              "source"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "collections": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "id": {
                                "description": "The collection ID",
                                "type": "string"
                              },
                              "name": {
                                "description": "The name of the collection",
                                "type": "string"
                              }
                            },
                            "required": [
                              "id",
                              "name"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "jobs": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "id": {
                                "description": "The job ID",
                                "type": "string"
                              },
                              "jobType": {
                                "description": "The job type",
                                "enum": [
                                  "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",
                                  "splat",
                                  "texture",
                                  "translate",
                                  "upload",
                                  "upscale",
                                  "upscale-skybox",
                                  "upscale-texture",
                                  "vectorize",
                                  "workflow"
                                ],
                                "type": "string"
                              },
                              "metadata": {
                                "additionalProperties": false,
                                "description": "The metadata of the job",
                                "properties": {
                                  "assetIds": {
                                    "description": "List of produced assets for this job",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "error": {
                                    "description": "Eventual error for the job",
                                    "type": "string",
                                    "nullable": true
                                  },
                                  "flow": {
                                    "description": "The flow of the job. Only available for workflow jobs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assets": {
                                          "description": "List of produced assets for this node.",
                                          "items": {
                                            "additionalProperties": false,
                                            "properties": {
                                              "assetId": {
                                                "type": "string"
                                              },
                                              "url": {
                                                "type": "string"
                                              }
                                            },
                                            "required": [
                                              "assetId",
                                              "url"
                                            ],
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "count": {
                                          "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                          "type": "number"
                                        },
                                        "dependsOn": {
                                          "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "id": {
                                          "description": "The id of the node.",
                                          "type": "string"
                                        },
                                        "includeOutputsInWorkflowJob": {
                                          "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                          "enum": [
                                            true
                                          ],
                                          "type": "boolean"
                                        },
                                        "inputs": {
                                          "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                          "items": {
                                            "additionalProperties": false,
                                            "description": "This is used to run the flow.",
                                            "properties": {
                                              "allowedValues": {
                                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                "items": {},
                                                "type": "array"
                                              },
                                              "backgroundBehavior": {
                                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                "enum": [
                                                  "opaque",
                                                  "transparent"
                                                ],
                                                "type": "string"
                                              },
                                              "color": {
                                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                "type": "boolean"
                                              },
                                              "costImpact": {
                                                "description": "Whether this input affects the model's cost calculation",
                                                "type": "boolean"
                                              },
                                              "default": {
                                                "description": "The default value for the input"
                                              },
                                              "description": {
                                                "description": "Help text displayed in the UI to provide additional information about the input",
                                                "type": "string"
                                              },
                                              "group": {
                                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                "type": "string"
                                              },
                                              "hint": {
                                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                "type": "string"
                                              },
                                              "inputs": {
                                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                "items": {
                                                  "additionalProperties": true,
                                                  "properties": {},
                                                  "type": "object"
                                                },
                                                "type": "array"
                                              },
                                              "items": {
                                                "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                                "items": {
                                                  "items": {
                                                    "additionalProperties": false,
                                                    "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                                    "properties": {
                                                      "allowedValues": {
                                                        "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                        "items": {},
                                                        "type": "array"
                                                      },
                                                      "backgroundBehavior": {
                                                        "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                        "enum": [
                                                          "opaque",
                                                          "transparent"
                                                        ],
                                                        "type": "string"
                                                      },
                                                      "color": {
                                                        "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                        "type": "boolean"
                                                      },
                                                      "costImpact": {
                                                        "description": "Whether this input affects the model's cost calculation",
                                                        "type": "boolean"
                                                      },
                                                      "default": {
                                                        "description": "The default value for the input"
                                                      },
                                                      "description": {
                                                        "description": "Help text displayed in the UI to provide additional information about the input",
                                                        "type": "string"
                                                      },
                                                      "group": {
                                                        "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                        "type": "string"
                                                      },
                                                      "hint": {
                                                        "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                        "type": "string"
                                                      },
                                                      "inputs": {
                                                        "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                        "items": {
                                                          "additionalProperties": true,
                                                          "properties": {},
                                                          "type": "object"
                                                        },
                                                        "type": "array"
                                                      },
                                                      "kind": {
                                                        "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                        "enum": [
                                                          "3d",
                                                          "audio",
                                                          "document",
                                                          "image",
                                                          "image-hdr",
                                                          "json",
                                                          "text",
                                                          "video"
                                                        ],
                                                        "type": "string"
                                                      },
                                                      "label": {
                                                        "description": "The label displayed in the UI for this input",
                                                        "type": "string"
                                                      },
                                                      "maskFrom": {
                                                        "description": "The name of the file input field to use as the mask source",
                                                        "type": "string"
                                                      },
                                                      "max": {
                                                        "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                        "type": "number"
                                                      },
                                                      "maxDuration": {
                                                        "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                        "type": "number"
                                                      },
                                                      "maxLength": {
                                                        "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                        "type": "number"
                                                      },
                                                      "maxSize": {
                                                        "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                        "type": "number"
                                                      },
                                                      "min": {
                                                        "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                        "type": "number"
                                                      },
                                                      "minDuration": {
                                                        "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                        "type": "number"
                                                      },
                                                      "minLength": {
                                                        "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                        "type": "number"
                                                      },
                                                      "modelTypes": {
                                                        "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                        "items": {
                                                          "enum": [
                                                            "custom",
                                                            "elevenlabs-voice",
                                                            "flux.1",
                                                            "flux.1-composition",
                                                            "flux.1-kontext-dev",
                                                            "flux.1-kontext-lora",
                                                            "flux.1-krea-dev",
                                                            "flux.1-krea-lora",
                                                            "flux.1-lora",
                                                            "flux.1-pro",
                                                            "flux.1.1-pro-ultra",
                                                            "flux.2-dev-edit-lora",
                                                            "flux.2-dev-lora",
                                                            "flux.2-klein-4b-edit-lora",
                                                            "flux.2-klein-4b-lora",
                                                            "flux.2-klein-9b-edit-lora",
                                                            "flux.2-klein-9b-lora",
                                                            "flux.2-klein-base-4b-edit-lora",
                                                            "flux.2-klein-base-4b-lora",
                                                            "flux.2-klein-base-9b-edit-lora",
                                                            "flux.2-klein-base-9b-lora",
                                                            "flux1.1-pro",
                                                            "gpt-image-1",
                                                            "qwen-image-2512-lora",
                                                            "qwen-image-edit-2509-lora",
                                                            "qwen-image-edit-2511-lora",
                                                            "qwen-image-edit-lora",
                                                            "qwen-image-lora",
                                                            "zimage-de-turbo-lora",
                                                            "zimage-lora",
                                                            "zimage-turbo-lora"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "type": "array"
                                                      },
                                                      "name": {
                                                        "description": "The name that must be user to call the model through the API",
                                                        "type": "string"
                                                      },
                                                      "parent": {
                                                        "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                        "type": "boolean"
                                                      },
                                                      "placeholder": {
                                                        "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                        "type": "string"
                                                      },
                                                      "prompt": {
                                                        "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                        "type": "boolean"
                                                      },
                                                      "promptSpark": {
                                                        "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                        "type": "boolean"
                                                      },
                                                      "ref": {
                                                        "additionalProperties": false,
                                                        "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                        "properties": {
                                                          "conditional": {
                                                            "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                            "items": {
                                                              "type": "string"
                                                            },
                                                            "type": "array"
                                                          },
                                                          "equal": {
                                                            "description": "This is the desired node output value if ref is an if/else node.",
                                                            "type": "string"
                                                          },
                                                          "name": {
                                                            "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                            "type": "string"
                                                          },
                                                          "node": {
                                                            "description": "The node id or 'workflow' if the source is a workflow input.",
                                                            "type": "string"
                                                          }
                                                        },
                                                        "type": "object"
                                                      },
                                                      "required": {
                                                        "additionalProperties": false,
                                                        "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                        "properties": {
                                                          "always": {
                                                            "description": "Whether the input is always required",
                                                            "type": "boolean"
                                                          },
                                                          "conditional": {
                                                            "additionalProperties": false,
                                                            "description": "Makes this input required when other inputs have one of the listed values",
                                                            "properties": {
                                                              "operator": {
                                                                "default": "and",
                                                                "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                                "enum": [
                                                                  "and",
                                                                  "or"
                                                                ],
                                                                "type": "string"
                                                              },
                                                              "values": {
                                                                "additionalProperties": false,
                                                                "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                                "type": "object"
                                                              }
                                                            },
                                                            "required": [
                                                              "values"
                                                            ],
                                                            "type": "object"
                                                          },
                                                          "ifDefined": {
                                                            "additionalProperties": false,
                                                            "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                            "type": "object"
                                                          },
                                                          "ifNotDefined": {
                                                            "additionalProperties": false,
                                                            "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                            "type": "object"
                                                          }
                                                        },
                                                        "type": "object"
                                                      },
                                                      "step": {
                                                        "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                        "minimum": 1,
                                                        "type": "number"
                                                      },
                                                      "type": {
                                                        "description": "The data type of the input",
                                                        "enum": [
                                                          "boolean",
                                                          "file",
                                                          "file_array",
                                                          "inputs_array",
                                                          "model",
                                                          "model_array",
                                                          "number",
                                                          "number_array",
                                                          "string",
                                                          "string_array"
                                                        ],
                                                        "type": "string"
                                                      },
                                                      "value": {
                                                        "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                      }
                                                    },
                                                    "required": [
                                                      "name",
                                                      "type"
                                                    ],
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "type": "array"
                                              },
                                              "kind": {
                                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                "enum": [
                                                  "3d",
                                                  "audio",
                                                  "document",
                                                  "image",
                                                  "image-hdr",
                                                  "json",
                                                  "text",
                                                  "video"
                                                ],
                                                "type": "string"
                                              },
                                              "label": {
                                                "description": "The label displayed in the UI for this input",
                                                "type": "string"
                                              },
                                              "maskFrom": {
                                                "description": "The name of the file input field to use as the mask source",
                                                "type": "string"
                                              },
                                              "max": {
                                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                "type": "number"
                                              },
                                              "maxDuration": {
                                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                "type": "number"
                                              },
                                              "maxLength": {
                                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                "type": "number"
                                              },
                                              "maxSize": {
                                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                "type": "number"
                                              },
                                              "min": {
                                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                "type": "number"
                                              },
                                              "minDuration": {
                                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                "type": "number"
                                              },
                                              "minLength": {
                                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                "type": "number"
                                              },
                                              "modelTypes": {
                                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                "items": {
                                                  "enum": [
                                                    "custom",
                                                    "elevenlabs-voice",
                                                    "flux.1",
                                                    "flux.1-composition",
                                                    "flux.1-kontext-dev",
                                                    "flux.1-kontext-lora",
                                                    "flux.1-krea-dev",
                                                    "flux.1-krea-lora",
                                                    "flux.1-lora",
                                                    "flux.1-pro",
                                                    "flux.1.1-pro-ultra",
                                                    "flux.2-dev-edit-lora",
                                                    "flux.2-dev-lora",
                                                    "flux.2-klein-4b-edit-lora",
                                                    "flux.2-klein-4b-lora",
                                                    "flux.2-klein-9b-edit-lora",
                                                    "flux.2-klein-9b-lora",
                                                    "flux.2-klein-base-4b-edit-lora",
                                                    "flux.2-klein-base-4b-lora",
                                                    "flux.2-klein-base-9b-edit-lora",
                                                    "flux.2-klein-base-9b-lora",
                                                    "flux1.1-pro",
                                                    "gpt-image-1",
                                                    "qwen-image-2512-lora",
                                                    "qwen-image-edit-2509-lora",
                                                    "qwen-image-edit-2511-lora",
                                                    "qwen-image-edit-lora",
                                                    "qwen-image-lora",
                                                    "zimage-de-turbo-lora",
                                                    "zimage-lora",
                                                    "zimage-turbo-lora"
                                                  ],
                                                  "type": "string"
                                                },
                                                "type": "array"
                                              },
                                              "name": {
                                                "description": "The name that must be user to call the model through the API",
                                                "type": "string"
                                              },
                                              "parent": {
                                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                "type": "boolean"
                                              },
                                              "placeholder": {
                                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                "type": "string"
                                              },
                                              "prompt": {
                                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                "type": "boolean"
                                              },
                                              "promptSpark": {
                                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                "type": "boolean"
                                              },
                                              "ref": {
                                                "additionalProperties": false,
                                                "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                "properties": {
                                                  "conditional": {
                                                    "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                    "items": {
                                                      "type": "string"
                                                    },
                                                    "type": "array"
                                                  },
                                                  "equal": {
                                                    "description": "This is the desired node output value if ref is an if/else node.",
                                                    "type": "string"
                                                  },
                                                  "name": {
                                                    "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                    "type": "string"
                                                  },
                                                  "node": {
                                                    "description": "The node id or 'workflow' if the source is a workflow input.",
                                                    "type": "string"
                                                  }
                                                },
                                                "type": "object"
                                              },
                                              "required": {
                                                "additionalProperties": false,
                                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                "properties": {
                                                  "always": {
                                                    "description": "Whether the input is always required",
                                                    "type": "boolean"
                                                  },
                                                  "conditional": {
                                                    "additionalProperties": false,
                                                    "description": "Makes this input required when other inputs have one of the listed values",
                                                    "properties": {
                                                      "operator": {
                                                        "default": "and",
                                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                        "enum": [
                                                          "and",
                                                          "or"
                                                        ],
                                                        "type": "string"
                                                      },
                                                      "values": {
                                                        "additionalProperties": false,
                                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                        "type": "object"
                                                      }
                                                    },
                                                    "required": [
                                                      "values"
                                                    ],
                                                    "type": "object"
                                                  },
                                                  "ifDefined": {
                                                    "additionalProperties": false,
                                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                    "type": "object"
                                                  },
                                                  "ifNotDefined": {
                                                    "additionalProperties": false,
                                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                    "type": "object"
                                                  }
                                                },
                                                "type": "object"
                                              },
                                              "step": {
                                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                "minimum": 1,
                                                "type": "number"
                                              },
                                              "type": {
                                                "description": "The data type of the input",
                                                "enum": [
                                                  "boolean",
                                                  "file",
                                                  "file_array",
                                                  "inputs_array",
                                                  "model",
                                                  "model_array",
                                                  "number",
                                                  "number_array",
                                                  "string",
                                                  "string_array"
                                                ],
                                                "type": "string"
                                              },
                                              "value": {
                                                "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                              }
                                            },
                                            "required": [
                                              "name",
                                              "type"
                                            ],
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "iterationIndex": {
                                          "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                          "type": "number"
                                        },
                                        "jobId": {
                                          "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                          "type": "string"
                                        },
                                        "logic": {
                                          "additionalProperties": false,
                                          "description": "The logic of the node.\nOnly available for logic nodes.",
                                          "properties": {
                                            "cases": {
                                              "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                              "items": {
                                                "additionalProperties": false,
                                                "properties": {
                                                  "condition": {
                                                    "type": "string"
                                                  },
                                                  "value": {
                                                    "type": "string"
                                                  }
                                                },
                                                "required": [
                                                  "condition",
                                                  "value"
                                                ],
                                                "type": "object"
                                              },
                                              "type": "array"
                                            },
                                            "default": {
                                              "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                              "type": "string"
                                            },
                                            "transform": {
                                              "description": "The transform of the logic.\nOnly available for transform nodes.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "logicType": {
                                          "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                          "enum": [
                                            "if-else"
                                          ],
                                          "type": "string"
                                        },
                                        "loopBodyNodeIds": {
                                          "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "loopNodeId": {
                                          "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                          "type": "string"
                                        },
                                        "modelId": {
                                          "description": "The model id for the node. Mainly used for custom model tasks.",
                                          "type": "string"
                                        },
                                        "output": {
                                          "description": "The output of the node.\nOnly available for logic nodes."
                                        },
                                        "status": {
                                          "description": "The status of the node. Only available for WorkflowJob nodes.",
                                          "enum": [
                                            "failure",
                                            "pending",
                                            "processing",
                                            "rejected",
                                            "skipped",
                                            "success"
                                          ],
                                          "type": "string"
                                        },
                                        "type": {
                                          "description": "The type of the job for the node.",
                                          "enum": [
                                            "custom-model",
                                            "for-each",
                                            "generate-prompt",
                                            "list",
                                            "logic",
                                            "model",
                                            "remove-background",
                                            "transform",
                                            "user-approval",
                                            "user-selection",
                                            "workflow"
                                          ],
                                          "type": "string"
                                        },
                                        "workflowId": {
                                          "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "id",
                                        "status",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "hint": {
                                    "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                                    "type": "string"
                                  },
                                  "input": {
                                    "additionalProperties": true,
                                    "description": "The inputs for the job",
                                    "properties": {},
                                    "type": "object"
                                  },
                                  "output": {
                                    "additionalProperties": true,
                                    "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                                    "properties": {},
                                    "type": "object"
                                  },
                                  "outputModelId": {
                                    "description": "For voice-clone jobs: the ID of the model being trained.",
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow ID of the job if job is part of a workflow.",
                                    "type": "string"
                                  },
                                  "workflowJobId": {
                                    "description": "The workflow job ID of the job if job is part of a workflow job.",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "status": {
                                "description": "The status of the job",
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "id",
                              "jobType",
                              "metadata",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "models": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "id": {
                                "description": "The model ID",
                                "type": "string"
                              },
                              "name": {
                                "description": "The name of the model",
                                "type": "string"
                              },
                              "shortDescription": {
                                "description": "The short description of the model",
                                "type": "string"
                              }
                            },
                            "required": [
                              "id",
                              "name"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "users": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "apiKeyId": {
                                "description": "The API key ID\n\nWill be available:\n- if the user is an API key",
                                "type": "string"
                              },
                              "apiKeyStatus": {
                                "description": "The API key status\n\nWill be available:\n- if the user is an API key",
                                "enum": [
                                  "active",
                                  "deleted",
                                  "inactive"
                                ],
                                "type": "string"
                              },
                              "avatar": {
                                "additionalProperties": false,
                                "description": "The user avatar\n\nWill be available:\n- if the user hasn't left the Scenario platform\n- if the user isn't an API key",
                                "properties": {
                                  "assetId": {
                                    "description": "ID of the asset used as thumbnail if provided, otherwise undefined",
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "Signed URL of the assetId or free url if assetId is undefined",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "email": {
                                "description": "The email of the user\n\nWill be available:\n- if the user hasn't left the Scenario platform\n- if the user isn't an API key",
                                "type": "string"
                              },
                              "fullName": {
                                "description": "The full name of the user\n\nWill be available:\n- if the user hasn't left the Scenario platform\n- if the user isn't an API key",
                                "type": "string"
                              },
                              "id": {
                                "description": "The user ID",
                                "type": "string"
                              },
                              "isApiKey": {
                                "description": "Whether the user is an API key",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "id",
                              "isApiKey"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/tags": {
      "get": {
        "operationId": "GetTags",
        "description": "List all tags in use for the given `projectId`",
        "tags": [
          "Tags"
        ],
        "parameters": [
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "The number of items to return in the response. The default value is 50, maximum value is 100, minimum value is 1",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 50
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "required": false,
            "description": "A token you received in a previous request to query the next page of items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tags": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "createdAt": {
                            "description": "The tag creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "itemCount": {
                            "description": "The number of items that have this tag",
                            "type": "number"
                          },
                          "ownerId": {
                            "description": "The owner ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                            "type": "string"
                          },
                          "tagName": {
                            "description": "The tag name",
                            "type": "string"
                          },
                          "updatedAt": {
                            "description": "The tag last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          }
                        },
                        "required": [
                          "createdAt",
                          "itemCount",
                          "ownerId",
                          "tagName",
                          "updatedAt"
                        ],
                        "type": "object"
                      }
                    },
                    "nextPaginationToken": {
                      "type": "string",
                      "description": "A token to query the next page of tags"
                    }
                  },
                  "required": [
                    "tags"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/assets": {
      "get": {
        "operationId": "GetAssets",
        "description": "List assets of a project team.\nSupports both public access (via the `Authorization` header set to `public-auth-token`) and authenticated user access (including API keys).",
        "tags": [
          "Assets"
        ],
        "parameters": [
          {
            "name": "inferenceId",
            "in": "query",
            "required": false,
            "description": "List assets generated from a specific inference",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "modelId",
            "in": "query",
            "required": false,
            "description": "List assets generated from all inferences coming from a specific model (this is not the training images)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "description": "List of tags, comma separated. Only for public assets on all teams.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "privacy",
            "in": "query",
            "required": false,
            "description": "Filters result by asset privacy. If set to public, it will return -all- public assets from all organizations",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "authorId",
            "in": "query",
            "required": false,
            "description": "List assets generated by a specific author (the user that created the asset)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "collectionId",
            "in": "query",
            "required": false,
            "description": "When provided, only the assets in the Collection will be returned",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "rootAssetId",
            "in": "query",
            "required": false,
            "description": "List all the children assets that were generated from a specific root asset",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "List all the assets of a specific type. The parameter \"type\" and \"types\" cannot be used together. Can be any of the following values: inference-txt2img, inference-txt2img-ip-adapter, inference-txt2img-texture, inference-img2img, inference-img2img-ip-adapter, inference-img2img-texture, inference-inpaint, inference-inpaint-ip-adapter, inference-reference, inference-reference-texture, inference-controlnet, inference-controlnet-ip-adapter, inference-controlnet-img2img, inference-controlnet-reference, inference-controlnet-inpaint, inference-controlnet-inpaint-ip-adapter, inference-controlnet-texture, background-removal, canvas, canvas-export, canvas-drawing, detection, patch, pixelization, upscale, upscale-texture, upscale-skybox, vectorization, segment, segmentation-image, segmentation-mask, skybox-base-360, skybox-hdri, skybox-3d, restyle, reframe, generative-fill, texture, texture-height, texture-normal, texture-smoothness, texture-metallic, texture-edge, texture-ao, texture-albedo, image-prompt-editing, unknown, img23d, txt23d, video23d, 3d23d, img2splat, 3d23d-texture, 3d-texture, 3d-texture-mtl, 3d-texture-albedo, 3d-texture-normal, 3d-texture-roughness, 3d-texture-metallic, img2video, txt2audio, audio2audio, audio2video, video2audio, voice-clone, video2video, video2img, txt2img, img2img, txt2video, uploaded, uploaded-video, uploaded-audio, uploaded-3d, uploaded-avatar, upscale-video, uploaded-text, audio2txt, txt2txt, img2txt, video2txt, assets with a type starting with \"inference-\" will be returned",
            "schema": {
              "type": "string",
              "enum": [
                "inference-txt2img",
                "inference-txt2img-ip-adapter",
                "inference-txt2img-texture",
                "inference-img2img",
                "inference-img2img-ip-adapter",
                "inference-img2img-texture",
                "inference-inpaint",
                "inference-inpaint-ip-adapter",
                "inference-reference",
                "inference-reference-texture",
                "inference-controlnet",
                "inference-controlnet-ip-adapter",
                "inference-controlnet-img2img",
                "inference-controlnet-reference",
                "inference-controlnet-inpaint",
                "inference-controlnet-inpaint-ip-adapter",
                "inference-controlnet-texture",
                "background-removal",
                "canvas",
                "canvas-export",
                "canvas-drawing",
                "detection",
                "patch",
                "pixelization",
                "upscale",
                "upscale-texture",
                "upscale-skybox",
                "vectorization",
                "segment",
                "segmentation-image",
                "segmentation-mask",
                "skybox-base-360",
                "skybox-hdri",
                "skybox-3d",
                "restyle",
                "reframe",
                "generative-fill",
                "texture",
                "texture-height",
                "texture-normal",
                "texture-smoothness",
                "texture-metallic",
                "texture-edge",
                "texture-ao",
                "texture-albedo",
                "image-prompt-editing",
                "unknown",
                "img23d",
                "txt23d",
                "video23d",
                "3d23d",
                "img2splat",
                "3d23d-texture",
                "3d-texture",
                "3d-texture-mtl",
                "3d-texture-albedo",
                "3d-texture-normal",
                "3d-texture-roughness",
                "3d-texture-metallic",
                "img2video",
                "txt2audio",
                "audio2audio",
                "audio2video",
                "video2audio",
                "voice-clone",
                "video2video",
                "video2img",
                "txt2img",
                "img2img",
                "txt2video",
                "uploaded",
                "uploaded-video",
                "uploaded-audio",
                "uploaded-3d",
                "uploaded-avatar",
                "upscale-video",
                "uploaded-text",
                "audio2txt",
                "txt2txt",
                "img2txt",
                "video2txt"
              ]
            }
          },
          {
            "name": "types",
            "in": "query",
            "required": false,
            "description": "List of the asset types to request. The parameter \"type\" and \"types\" cannot be used together. Can be any of the following values: inference-txt2img, inference-txt2img-ip-adapter, inference-txt2img-texture, inference-img2img, inference-img2img-ip-adapter, inference-img2img-texture, inference-inpaint, inference-inpaint-ip-adapter, inference-reference, inference-reference-texture, inference-controlnet, inference-controlnet-ip-adapter, inference-controlnet-img2img, inference-controlnet-reference, inference-controlnet-inpaint, inference-controlnet-inpaint-ip-adapter, inference-controlnet-texture, background-removal, canvas, canvas-export, canvas-drawing, detection, patch, pixelization, upscale, upscale-texture, upscale-skybox, vectorization, segment, segmentation-image, segmentation-mask, skybox-base-360, skybox-hdri, skybox-3d, restyle, reframe, generative-fill, texture, texture-height, texture-normal, texture-smoothness, texture-metallic, texture-edge, texture-ao, texture-albedo, image-prompt-editing, unknown, img23d, txt23d, video23d, 3d23d, img2splat, 3d23d-texture, 3d-texture, 3d-texture-mtl, 3d-texture-albedo, 3d-texture-normal, 3d-texture-roughness, 3d-texture-metallic, img2video, txt2audio, audio2audio, audio2video, video2audio, voice-clone, video2video, video2img, txt2img, img2img, txt2video, uploaded, uploaded-video, uploaded-audio, uploaded-3d, uploaded-avatar, upscale-video, uploaded-text, audio2txt, txt2txt, img2txt, video2txt",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "inference-txt2img",
                  "inference-txt2img-ip-adapter",
                  "inference-txt2img-texture",
                  "inference-img2img",
                  "inference-img2img-ip-adapter",
                  "inference-img2img-texture",
                  "inference-inpaint",
                  "inference-inpaint-ip-adapter",
                  "inference-reference",
                  "inference-reference-texture",
                  "inference-controlnet",
                  "inference-controlnet-ip-adapter",
                  "inference-controlnet-img2img",
                  "inference-controlnet-reference",
                  "inference-controlnet-inpaint",
                  "inference-controlnet-inpaint-ip-adapter",
                  "inference-controlnet-texture",
                  "background-removal",
                  "canvas",
                  "canvas-export",
                  "canvas-drawing",
                  "detection",
                  "patch",
                  "pixelization",
                  "upscale",
                  "upscale-texture",
                  "upscale-skybox",
                  "vectorization",
                  "segment",
                  "segmentation-image",
                  "segmentation-mask",
                  "skybox-base-360",
                  "skybox-hdri",
                  "skybox-3d",
                  "restyle",
                  "reframe",
                  "generative-fill",
                  "texture",
                  "texture-height",
                  "texture-normal",
                  "texture-smoothness",
                  "texture-metallic",
                  "texture-edge",
                  "texture-ao",
                  "texture-albedo",
                  "image-prompt-editing",
                  "unknown",
                  "img23d",
                  "txt23d",
                  "video23d",
                  "3d23d",
                  "img2splat",
                  "3d23d-texture",
                  "3d-texture",
                  "3d-texture-mtl",
                  "3d-texture-albedo",
                  "3d-texture-normal",
                  "3d-texture-roughness",
                  "3d-texture-metallic",
                  "img2video",
                  "txt2audio",
                  "audio2audio",
                  "audio2video",
                  "video2audio",
                  "voice-clone",
                  "video2video",
                  "video2img",
                  "txt2img",
                  "img2img",
                  "txt2video",
                  "uploaded",
                  "uploaded-video",
                  "uploaded-audio",
                  "uploaded-3d",
                  "uploaded-avatar",
                  "upscale-video",
                  "uploaded-text",
                  "audio2txt",
                  "txt2txt",
                  "img2txt",
                  "video2txt"
                ]
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "createdBefore",
            "in": "query",
            "required": false,
            "description": "Filter results to only return assets created before the specified ISO string date (exclusive). Requires the sortBy parameter to be \"createdAt\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdAfter",
            "in": "query",
            "required": false,
            "description": "Filter results to only return assets created after the specified ISO string date (exclusive). Requires the sortBy parameter to be \"createdAt\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updatedBefore",
            "in": "query",
            "required": false,
            "description": "Filter results to only return assets updated before the specified ISO string date (exclusive). Requires the sortBy parameter to be \"updatedAt\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updatedAfter",
            "in": "query",
            "required": false,
            "description": "Filter results to only return assets updated after the specified ISO string date (exclusive). Requires the sortBy parameter to be \"updatedAt\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "required": false,
            "description": "Sort results by the createdAt or updatedAt",
            "schema": {
              "type": "string",
              "default": "createdAt"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Sort results in ascending (asc) or descending (desc) order",
            "schema": {
              "type": "string",
              "default": "desc"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "The number of items to return in the response. The default value is 50, maximum value is 100, minimum value is 1",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 50
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "required": false,
            "description": "A token you received in a previous request to query the next page of items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "parentAssetId",
            "in": "query",
            "required": false,
            "description": "List all the children assets that were generated from a specific parent asset",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deleted",
            "in": "query",
            "required": false,
            "description": "When true, list the assets deleted in the last 30 days, most recently deleted first, each with its `deletedAt` date. Max plan and above only. Can only be combined with \"projectId\", \"teamId\", \"pageSize\", \"paginationToken\" and \"originalAssets\"",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "assets": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "authorId": {
                            "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                            "type": "string"
                          },
                          "automaticCaptioning": {
                            "description": "Automatic captioning of the asset",
                            "type": "string"
                          },
                          "collectionIds": {
                            "description": "A list of CollectionId this asset belongs to",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "createdAt": {
                            "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "deletedAt": {
                            "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                            "type": "string"
                          },
                          "description": {
                            "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                            "type": "string"
                          },
                          "editCapabilities": {
                            "description": "List of edit capabilities",
                            "items": {
                              "enum": [
                                "DETECTION",
                                "GENERATIVE_FILL",
                                "PIXELATE",
                                "PROMPT_EDITING",
                                "REFINE",
                                "REFRAME",
                                "REMOVE_BACKGROUND",
                                "SEGMENTATION",
                                "UPSCALE",
                                "UPSCALE_360",
                                "VECTORIZATION"
                              ],
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "embedding": {
                            "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                            "items": {
                              "type": "number"
                            },
                            "type": "array"
                          },
                          "firstFrame": {
                            "additionalProperties": false,
                            "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                            "properties": {
                              "assetId": {
                                "type": "string"
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "id": {
                            "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                            "type": "string"
                          },
                          "isHidden": {
                            "description": "Whether the asset is hidden.",
                            "type": "boolean"
                          },
                          "kind": {
                            "description": "The kind of asset",
                            "enum": [
                              "3d",
                              "audio",
                              "document",
                              "image",
                              "image-hdr",
                              "json",
                              "text",
                              "video"
                            ],
                            "type": "string"
                          },
                          "lastFrame": {
                            "additionalProperties": false,
                            "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                            "properties": {
                              "assetId": {
                                "type": "string"
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "metadata": {
                            "additionalProperties": false,
                            "description": "Metadata of the asset with some additional information",
                            "properties": {
                              "angular": {
                                "default": 0.5,
                                "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "aspectRatio": {
                                "description": "The optional aspect ratio given for the generation, only applicable for some models",
                                "type": "string"
                              },
                              "backgroundOpacity": {
                                "default": 0,
                                "maximum": 255,
                                "minimum": 0,
                                "type": "number"
                              },
                              "baseModelId": {
                                "description": "The baseModelId that maybe changed at inference time",
                                "type": "string"
                              },
                              "bbox": {
                                "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                                "items": {
                                  "type": "number"
                                },
                                "maxItems": 4,
                                "minItems": 4,
                                "type": "array"
                              },
                              "betterQuality": {
                                "default": false,
                                "type": "boolean"
                              },
                              "cannyStructureImage": {
                                "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                                "type": "string"
                              },
                              "clustering": {
                                "default": false,
                                "description": "Activate clustering.",
                                "type": "boolean"
                              },
                              "colorCorrection": {
                                "default": true,
                                "description": "Ensure upscaled tile have the same color histogram as original tile.",
                                "type": "boolean"
                              },
                              "colorMode": {
                                "type": "string"
                              },
                              "colorPrecision": {
                                "type": "number"
                              },
                              "concepts": {
                                "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "modelEpoch": {
                                      "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                      "type": "string"
                                    },
                                    "modelId": {
                                      "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                      "type": "string"
                                    },
                                    "scale": {
                                      "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                      "maximum": 2,
                                      "minimum": -2,
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "modelId",
                                    "scale"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "contours": {
                                "items": {
                                  "items": {
                                    "items": {
                                      "items": {
                                        "type": "number"
                                      },
                                      "type": "array"
                                    },
                                    "type": "array"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "controlEnd": {
                                "description": "End step for control.",
                                "type": "number"
                              },
                              "copiedAt": {
                                "description": "The date when the asset was copied to a project",
                                "type": "string"
                              },
                              "cornerThreshold": {
                                "type": "number"
                              },
                              "creativity": {
                                "default": 35,
                                "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "creativityDecay": {
                                "default": 80,
                                "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "defaultParameters": {
                                "default": false,
                                "description": "If true, use the default parameters",
                                "type": "boolean"
                              },
                              "depthFidelity": {
                                "default": 90,
                                "description": "The depth fidelity if a depth image provided",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "depthImage": {
                                "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                                "type": "string"
                              },
                              "detailsLevel": {
                                "default": 0,
                                "description": "Amount of details to remove or add",
                                "maximum": 50,
                                "minimum": -50,
                                "type": "number"
                              },
                              "dilate": {
                                "default": 0,
                                "maximum": 30,
                                "minimum": 0,
                                "type": "number"
                              },
                              "factor": {
                                "default": 5,
                                "description": "Contrast factor for Grayscale detector",
                                "type": "number"
                              },
                              "fileName": {
                                "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                                "type": "string"
                              },
                              "filterSpeckle": {
                                "type": "number"
                              },
                              "fractality": {
                                "default": 40,
                                "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "geometryEnforcement": {
                                "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "guidance": {
                                "description": "The guidance used to generate this asset",
                                "type": "number"
                              },
                              "halfMode": {
                                "type": "boolean"
                              },
                              "hdr": {
                                "type": "number"
                              },
                              "height": {
                                "type": "number"
                              },
                              "highThreshold": {
                                "default": 200,
                                "description": "High threshold for Canny detector",
                                "type": "number"
                              },
                              "horizontalExpansionRatio": {
                                "default": 1,
                                "description": "(deprecated) Horizontal expansion ratio.",
                                "maximum": 2,
                                "minimum": 1,
                                "type": "number"
                              },
                              "image": {
                                "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                                "type": "string"
                              },
                              "imageFidelity": {
                                "default": 50,
                                "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "imageType": {
                                "default": "seamfull",
                                "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                                "enum": [
                                  "seamfull",
                                  "skybox",
                                  "texture"
                                ],
                                "type": "string"
                              },
                              "inferenceId": {
                                "description": "The id of the Inference describing how this image was generated",
                                "type": "string"
                              },
                              "inputFidelity": {
                                "default": "low",
                                "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                                "enum": [
                                  "high",
                                  "low"
                                ],
                                "type": "string"
                              },
                              "inputLocation": {
                                "default": "middle",
                                "description": "Location of the input image in the output.",
                                "enum": [
                                  "bottom",
                                  "left",
                                  "middle",
                                  "right",
                                  "top"
                                ],
                                "type": "string"
                              },
                              "invert": {
                                "default": false,
                                "description": "To invert the relief",
                                "type": "boolean"
                              },
                              "keepsFileNames": {
                                "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                                "type": "boolean"
                              },
                              "keypointThreshold": {
                                "default": 0.3,
                                "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "kind": {
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "layerDifference": {
                                "type": "number"
                              },
                              "lengthThreshold": {
                                "type": "number"
                              },
                              "lockExpiresAt": {
                                "description": "The ISO timestamp when the lock on the canvas will expire",
                                "type": "string"
                              },
                              "lowThreshold": {
                                "default": 100,
                                "description": "Low threshold for Canny detector",
                                "type": "number"
                              },
                              "mask": {
                                "description": "The mask used for the asset generation or editing",
                                "type": "string"
                              },
                              "maxIterations": {
                                "type": "number"
                              },
                              "maxThreshold": {
                                "default": 90,
                                "description": "Maximum threshold for Grayscale conversion",
                                "type": "number"
                              },
                              "minThreshold": {
                                "default": 10,
                                "description": "Minimum threshold for Grayscale conversion",
                                "type": "number"
                              },
                              "modality": {
                                "default": "canny",
                                "description": "Modality to detect",
                                "enum": [
                                  "canny",
                                  "depth",
                                  "grayscale",
                                  "lineart_anime",
                                  "mlsd",
                                  "normal",
                                  "pose",
                                  "scribble",
                                  "segmentation",
                                  "sketch"
                                ],
                                "type": "string"
                              },
                              "mode": {
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The modelId used to generate this asset",
                                "type": "string"
                              },
                              "modelType": {
                                "description": "The type of the generator used",
                                "enum": [
                                  "custom",
                                  "elevenlabs-voice",
                                  "flux.1",
                                  "flux.1-composition",
                                  "flux.1-kontext-dev",
                                  "flux.1-kontext-lora",
                                  "flux.1-krea-dev",
                                  "flux.1-krea-lora",
                                  "flux.1-lora",
                                  "flux.1-pro",
                                  "flux.1.1-pro-ultra",
                                  "flux.2-dev-edit-lora",
                                  "flux.2-dev-lora",
                                  "flux.2-klein-4b-edit-lora",
                                  "flux.2-klein-4b-lora",
                                  "flux.2-klein-9b-edit-lora",
                                  "flux.2-klein-9b-lora",
                                  "flux.2-klein-base-4b-edit-lora",
                                  "flux.2-klein-base-4b-lora",
                                  "flux.2-klein-base-9b-edit-lora",
                                  "flux.2-klein-base-9b-lora",
                                  "flux1.1-pro",
                                  "gpt-image-1",
                                  "qwen-image-2512-lora",
                                  "qwen-image-edit-2509-lora",
                                  "qwen-image-edit-2511-lora",
                                  "qwen-image-edit-lora",
                                  "qwen-image-lora",
                                  "zimage-de-turbo-lora",
                                  "zimage-lora",
                                  "zimage-turbo-lora"
                                ],
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "nbMasks": {
                                "type": "number"
                              },
                              "negativePrompt": {
                                "description": "The negative prompt used to generate this asset",
                                "type": "string"
                              },
                              "negativePromptStrength": {
                                "default": 0,
                                "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                                "maximum": 10,
                                "minimum": 0,
                                "type": "number"
                              },
                              "numInferenceSteps": {
                                "default": 10,
                                "description": "The number of denoising steps for each image generation.",
                                "maximum": 50,
                                "minimum": 5,
                                "type": "number"
                              },
                              "numOutputs": {
                                "default": 4,
                                "description": "The number of outputs to generate.",
                                "maximum": 8,
                                "minimum": 1,
                                "type": "number"
                              },
                              "originalAssetId": {
                                "type": "string"
                              },
                              "outputIndex": {
                                "type": "number"
                              },
                              "overlapPercentage": {
                                "default": 0.08,
                                "description": "Overlap percentage for the output image.",
                                "maximum": 0.5,
                                "minimum": 0,
                                "type": "number"
                              },
                              "overrideEmbeddings": {
                                "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                                "type": "boolean"
                              },
                              "parentId": {
                                "type": "string"
                              },
                              "parentJobId": {
                                "type": "string"
                              },
                              "pathPrecision": {
                                "type": "number"
                              },
                              "points": {
                                "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                                "items": {
                                  "items": {
                                    "type": "number"
                                  },
                                  "type": "array"
                                },
                                "maxItems": 3,
                                "minItems": 3,
                                "type": "array"
                              },
                              "polished": {
                                "default": 0.5,
                                "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "preset": {
                                "type": "string"
                              },
                              "progressPercent": {
                                "type": "number"
                              },
                              "prompt": {
                                "description": "The prompt that guided the asset generation or editing",
                                "type": "string"
                              },
                              "promptFidelity": {
                                "default": 50,
                                "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "raised": {
                                "default": 0.5,
                                "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "referenceImages": {
                                "description": "The reference images used for the asset generation or editing",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "refinementSteps": {
                                "default": 0,
                                "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                                "maximum": 4,
                                "minimum": 0,
                                "type": "number"
                              },
                              "removeBackground": {
                                "default": true,
                                "description": "Remove background for Grayscale detector",
                                "type": "boolean"
                              },
                              "resizeOption": {
                                "default": 1,
                                "description": "Size proportion of the input image in the output.",
                                "maximum": 1,
                                "minimum": 0.1,
                                "type": "number"
                              },
                              "resultContours": {
                                "default": false,
                                "description": "Boolean to output the contours.",
                                "type": "boolean"
                              },
                              "resultImage": {
                                "default": false,
                                "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                                "type": "boolean"
                              },
                              "resultMask": {
                                "default": true,
                                "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                                "type": "boolean"
                              },
                              "rootParentId": {
                                "type": "string"
                              },
                              "saveFlipbook": {
                                "default": true,
                                "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                                "type": "boolean"
                              },
                              "scalingFactor": {
                                "default": 2,
                                "description": "Scaling factor (when `targetWidth` not specified)",
                                "maximum": 16,
                                "minimum": 1,
                                "type": "number"
                              },
                              "scheduler": {
                                "description": "The scheduler used to generate this asset",
                                "type": "string"
                              },
                              "seed": {
                                "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                                "type": "string"
                              },
                              "sharpen": {
                                "default": false,
                                "description": "Sharpen tiles.",
                                "type": "boolean"
                              },
                              "shiny": {
                                "default": 0.5,
                                "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "size": {
                                "type": "number"
                              },
                              "sketch": {
                                "default": false,
                                "description": "Activate sketch detection instead of canny.",
                                "type": "boolean"
                              },
                              "sourceProjectId": {
                                "type": "string"
                              },
                              "spliceThreshold": {
                                "type": "number"
                              },
                              "strength": {
                                "default": 1,
                                "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                                "type": "number"
                              },
                              "structureFidelity": {
                                "default": 35,
                                "description": "Strength for the input image structure preservation",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "structureImage": {
                                "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                                "type": "string"
                              },
                              "style": {
                                "enum": [
                                  "3d-cartoon",
                                  "3d-rendered",
                                  "anime",
                                  "cartoon",
                                  "cinematic",
                                  "claymation",
                                  "cloud-skydome",
                                  "comic",
                                  "cyberpunk",
                                  "enchanted",
                                  "fantasy",
                                  "ink",
                                  "manga",
                                  "manga-color",
                                  "minimalist",
                                  "neon-tron",
                                  "oil-painting",
                                  "pastel",
                                  "photo",
                                  "photography",
                                  "psychedelic",
                                  "retro-fantasy",
                                  "scifi-concept-art",
                                  "space",
                                  "standard",
                                  "whimsical"
                                ],
                                "type": "string"
                              },
                              "styleFidelity": {
                                "default": 20,
                                "description": "The higher the value the more it will look like the style image(s)",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "styleImages": {
                                "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                                "items": {
                                  "type": "string"
                                },
                                "maxItems": 10,
                                "type": "array"
                              },
                              "styleImagesFidelity": {
                                "default": 17,
                                "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "targetHeight": {
                                "default": 1024,
                                "description": "The target height of the output image.",
                                "maximum": 2048,
                                "minimum": 0,
                                "type": "number"
                              },
                              "targetWidth": {
                                "description": "Target width for the upscaled image, take priority over scaling factor",
                                "maximum": 16000,
                                "minimum": 1024,
                                "type": "number"
                              },
                              "text": {
                                "description": "A textual description / keywords describing the object of interest.",
                                "maxLength": 100,
                                "type": "string"
                              },
                              "texture": {
                                "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                                "type": "string"
                              },
                              "thumbnail": {
                                "additionalProperties": false,
                                "description": "The thumbnail of the canvas",
                                "properties": {
                                  "assetId": {
                                    "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "The url of the image used as a thumbnail for the canvas",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "assetId",
                                  "url"
                                ],
                                "type": "object"
                              },
                              "tileStyle": {
                                "default": false,
                                "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                                "type": "boolean"
                              },
                              "trainingImage": {
                                "type": "boolean"
                              },
                              "type": {
                                "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                                "enum": [
                                  "3d-texture",
                                  "3d-texture-albedo",
                                  "3d-texture-metallic",
                                  "3d-texture-mtl",
                                  "3d-texture-normal",
                                  "3d-texture-roughness",
                                  "3d23d",
                                  "3d23d-texture",
                                  "audio2audio",
                                  "audio2txt",
                                  "audio2video",
                                  "background-removal",
                                  "canvas",
                                  "canvas-drawing",
                                  "canvas-export",
                                  "detection",
                                  "generative-fill",
                                  "image-prompt-editing",
                                  "img23d",
                                  "img2img",
                                  "img2splat",
                                  "img2txt",
                                  "img2video",
                                  "inference-controlnet",
                                  "inference-controlnet-img2img",
                                  "inference-controlnet-inpaint",
                                  "inference-controlnet-inpaint-ip-adapter",
                                  "inference-controlnet-ip-adapter",
                                  "inference-controlnet-reference",
                                  "inference-controlnet-texture",
                                  "inference-img2img",
                                  "inference-img2img-ip-adapter",
                                  "inference-img2img-texture",
                                  "inference-inpaint",
                                  "inference-inpaint-ip-adapter",
                                  "inference-reference",
                                  "inference-reference-texture",
                                  "inference-txt2img",
                                  "inference-txt2img-ip-adapter",
                                  "inference-txt2img-texture",
                                  "patch",
                                  "pixelization",
                                  "reframe",
                                  "restyle",
                                  "segment",
                                  "segmentation-image",
                                  "segmentation-mask",
                                  "skybox-3d",
                                  "skybox-base-360",
                                  "skybox-hdri",
                                  "texture",
                                  "texture-albedo",
                                  "texture-ao",
                                  "texture-edge",
                                  "texture-height",
                                  "texture-metallic",
                                  "texture-normal",
                                  "texture-smoothness",
                                  "txt23d",
                                  "txt2audio",
                                  "txt2img",
                                  "txt2txt",
                                  "txt2video",
                                  "unknown",
                                  "uploaded",
                                  "uploaded-3d",
                                  "uploaded-audio",
                                  "uploaded-avatar",
                                  "uploaded-text",
                                  "uploaded-video",
                                  "upscale",
                                  "upscale-skybox",
                                  "upscale-texture",
                                  "upscale-video",
                                  "vectorization",
                                  "video23d",
                                  "video2audio",
                                  "video2img",
                                  "video2txt",
                                  "video2video",
                                  "voice-clone"
                                ],
                                "type": "string"
                              },
                              "verticalExpansionRatio": {
                                "default": 1,
                                "description": "(deprecated) Vertical expansion ratio.",
                                "maximum": 2,
                                "minimum": 1,
                                "type": "number"
                              },
                              "width": {
                                "default": 1536,
                                "description": "The width of the rendered image.",
                                "maximum": 2048,
                                "minimum": 1024,
                                "type": "number"
                              }
                            },
                            "required": [
                              "kind",
                              "type"
                            ],
                            "type": "object"
                          },
                          "mimeType": {
                            "description": "The mime type of the asset (example: \"image/png\")",
                            "type": "string"
                          },
                          "nsfw": {
                            "description": "The NSFW labels",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "originalFileUrl": {
                            "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                            "type": "string"
                          },
                          "originalMimeType": {
                            "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                            "enum": [
                              "application/gzip",
                              "application/json",
                              "application/octet-stream",
                              "application/pdf",
                              "application/safetensors",
                              "application/vnd.autodesk.fbx",
                              "application/x-authorware-bin",
                              "application/x-zip-compressed",
                              "application/x.autodesk.fbx",
                              "application/zip",
                              "audio/flac",
                              "audio/m4a",
                              "audio/mpeg",
                              "audio/ogg",
                              "audio/wav",
                              "image/aces",
                              "image/avif",
                              "image/bmp",
                              "image/gif",
                              "image/heic",
                              "image/jpeg",
                              "image/png",
                              "image/svg+xml",
                              "image/tiff",
                              "image/vnd.radiance",
                              "image/webp",
                              "image/x-exr",
                              "model/glb",
                              "model/gltf+json",
                              "model/gltf-binary",
                              "model/ksplat",
                              "model/mtl",
                              "model/obj",
                              "model/ply",
                              "model/sog",
                              "model/splat",
                              "model/spz",
                              "model/stl",
                              "model/vnd.collada+xml",
                              "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                              "model/vnd.usdz+zip",
                              "model/x-3d-vox",
                              "model/x-blender",
                              "model/x-fbx",
                              "model/x-maya-ascii",
                              "model/x-maya-binary",
                              "model/x-vsplat",
                              "model/x3d+xml",
                              "text/plain",
                              "video/mp4",
                              "video/quicktime",
                              "video/webm"
                            ],
                            "type": "string"
                          },
                          "outputIndex": {
                            "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                            "type": "number"
                          },
                          "ownerId": {
                            "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                            "type": "string"
                          },
                          "preview": {
                            "additionalProperties": false,
                            "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                            "properties": {
                              "assetId": {
                                "type": "string"
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "privacy": {
                            "description": "The privacy of the asset",
                            "enum": [
                              "private",
                              "public",
                              "unlisted"
                            ],
                            "type": "string"
                          },
                          "properties": {
                            "additionalProperties": false,
                            "description": "The properties of the asset, content may depend on the kind of asset returned",
                            "properties": {
                              "animationFrameCount": {
                                "description": "Number of animation frames if animations exist",
                                "type": "number"
                              },
                              "bitrate": {
                                "description": "Bitrate of the media in bits per second",
                                "type": "number"
                              },
                              "boneCount": {
                                "description": "Number of bones if skeleton exists",
                                "type": "number"
                              },
                              "cameraMode": {
                                "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                                "enum": [
                                  "aerial",
                                  "interior",
                                  "turntable"
                                ],
                                "type": "string"
                              },
                              "cameraTrajectory": {
                                "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                  "properties": {
                                    "fov": {
                                      "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                      "type": "number"
                                    },
                                    "position": {
                                      "description": "Camera eye position in the splat's world frame.",
                                      "items": {
                                        "type": "number"
                                      },
                                      "maxItems": 3,
                                      "minItems": 3,
                                      "type": "array"
                                    },
                                    "target": {
                                      "description": "Look-at point in the splat's world frame.",
                                      "items": {
                                        "type": "number"
                                      },
                                      "maxItems": 3,
                                      "minItems": 3,
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "position",
                                    "target"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "channels": {
                                "description": "Number of channels of the audio",
                                "type": "number"
                              },
                              "charCount": {
                                "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                                "type": "number"
                              },
                              "classification": {
                                "description": "Classification of the audio",
                                "enum": [
                                  "effect",
                                  "interview",
                                  "music",
                                  "other",
                                  "sound",
                                  "speech",
                                  "text",
                                  "unknown"
                                ],
                                "type": "string"
                              },
                              "codecName": {
                                "description": "Codec name of the media",
                                "type": "string"
                              },
                              "description": {
                                "description": "Description of the audio",
                                "type": "string"
                              },
                              "dimensions": {
                                "description": "Bounding box dimensions [width, height, depth]",
                                "items": {
                                  "type": "number"
                                },
                                "maxItems": 3,
                                "minItems": 3,
                                "type": "array"
                              },
                              "duration": {
                                "description": "Duration of the media in seconds",
                                "type": "number"
                              },
                              "faceCount": {
                                "description": "Number of faces/triangles in the mesh",
                                "type": "number"
                              },
                              "format": {
                                "description": "Format of the mesh file (e.g. 'glb', etc.)",
                                "type": "string"
                              },
                              "frameRate": {
                                "description": "Frame rate of the video in frames per second",
                                "type": "number"
                              },
                              "hasAnimations": {
                                "description": "Whether the mesh has animations",
                                "type": "boolean"
                              },
                              "hasFullPreview": {
                                "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                                "type": "boolean"
                              },
                              "hasNormals": {
                                "description": "Whether the mesh has normal vectors",
                                "type": "boolean"
                              },
                              "hasSkeleton": {
                                "description": "Whether the mesh has bones/skeleton",
                                "type": "boolean"
                              },
                              "hasUVs": {
                                "description": "Whether the mesh has UV coordinates",
                                "type": "boolean"
                              },
                              "height": {
                                "type": "number"
                              },
                              "nbFrames": {
                                "description": "Number of frames in the video",
                                "type": "number"
                              },
                              "preview": {
                                "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                                "type": "string"
                              },
                              "sampleRate": {
                                "description": "Sample rate of the media in Hz",
                                "type": "number"
                              },
                              "size": {
                                "type": "number"
                              },
                              "transcription": {
                                "additionalProperties": false,
                                "description": "Transcription of the audio",
                                "properties": {
                                  "text": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "text"
                                ],
                                "type": "object"
                              },
                              "vertexCount": {
                                "description": "Number of vertices in the mesh",
                                "type": "number"
                              },
                              "width": {
                                "type": "number"
                              },
                              "wordCount": {
                                "description": "Number of whitespace-separated words in the text",
                                "type": "number"
                              }
                            },
                            "required": [
                              "size"
                            ],
                            "type": "object"
                          },
                          "qualityGate": {
                            "additionalProperties": false,
                            "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                            "properties": {
                              "aiQualityScore": {
                                "description": "Generic AI-quality sub-score",
                                "type": "number"
                              },
                              "appliedBriefIds": {
                                "description": "Ids of briefs that contributed",
                                "items": {
                                  "description": "Opaque identifier for a brief, derived from its scope.",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "briefComplianceScore": {
                                "description": "Brief-compliance sub-score (omitted when no brief applied)",
                                "type": "number"
                              },
                              "computedAt": {
                                "description": "ISO-8601 timestamp of when scoring ran",
                                "type": "string"
                              },
                              "details": {
                                "additionalProperties": false,
                                "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                                "properties": {
                                  "aiQuality": {
                                    "additionalProperties": false,
                                    "description": "Always-on generic AI-quality dimension",
                                    "properties": {
                                      "reasons": {
                                        "description": "Why the image scored as it did",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array"
                                      },
                                      "score": {
                                        "description": "0–100; higher is better (more compliant / less AI-looking)",
                                        "type": "number"
                                      },
                                      "suggestions": {
                                        "description": "Actionable suggestions to improve the score",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array"
                                      }
                                    },
                                    "required": [
                                      "reasons",
                                      "score",
                                      "suggestions"
                                    ],
                                    "type": "object"
                                  },
                                  "briefCompliance": {
                                    "additionalProperties": false,
                                    "description": "Brief-compliance dimension; omitted when no brief applied",
                                    "properties": {
                                      "reasons": {
                                        "description": "Why the image scored as it did",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array"
                                      },
                                      "score": {
                                        "description": "0–100; higher is better (more compliant / less AI-looking)",
                                        "type": "number"
                                      },
                                      "suggestions": {
                                        "description": "Actionable suggestions to improve the score",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array"
                                      }
                                    },
                                    "required": [
                                      "reasons",
                                      "score",
                                      "suggestions"
                                    ],
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "aiQuality"
                                ],
                                "type": "object"
                              },
                              "error": {
                                "description": "Error message when status is 'error' (truncated)",
                                "type": "string"
                              },
                              "overallScore": {
                                "description": "0–100 composite score (present when status is 'scored')",
                                "type": "number"
                              },
                              "sensitivity": {
                                "description": "Sensitivity used for the verdict",
                                "enum": [
                                  "high",
                                  "low",
                                  "medium"
                                ],
                                "type": "string"
                              },
                              "status": {
                                "description": "Whether scoring succeeded or errored",
                                "enum": [
                                  "error",
                                  "scored"
                                ],
                                "type": "string"
                              },
                              "verdict": {
                                "description": "pass / warn / fail (present when status is 'scored')",
                                "enum": [
                                  "fail",
                                  "pass",
                                  "warn"
                                ],
                                "type": "string"
                              },
                              "version": {
                                "description": "Rubric/model version that produced this result",
                                "type": "string"
                              }
                            },
                            "required": [
                              "computedAt",
                              "status",
                              "version"
                            ],
                            "type": "object"
                          },
                          "source": {
                            "description": "source of the asset",
                            "enum": [
                              "3d23d",
                              "3d23d:texture",
                              "3d:texture",
                              "3d:texture:albedo",
                              "3d:texture:metallic",
                              "3d:texture:mtl",
                              "3d:texture:normal",
                              "3d:texture:roughness",
                              "audio2audio",
                              "audio2txt",
                              "audio2video",
                              "background-removal",
                              "canvas",
                              "canvas-drawing",
                              "canvas-export",
                              "detection",
                              "generative-fill",
                              "image-prompt-editing",
                              "img23d",
                              "img2img",
                              "img2splat",
                              "img2txt",
                              "img2video",
                              "inference-control-net",
                              "inference-control-net-img",
                              "inference-control-net-inpainting",
                              "inference-control-net-inpainting-ip-adapter",
                              "inference-control-net-ip-adapter",
                              "inference-control-net-reference",
                              "inference-control-net-texture",
                              "inference-img",
                              "inference-img-ip-adapter",
                              "inference-img-texture",
                              "inference-in-paint",
                              "inference-in-paint-ip-adapter",
                              "inference-reference",
                              "inference-reference-texture",
                              "inference-txt",
                              "inference-txt-ip-adapter",
                              "inference-txt-texture",
                              "patch",
                              "pixelization",
                              "reframe",
                              "restyle",
                              "segment",
                              "segmentation-image",
                              "segmentation-mask",
                              "skybox-3d",
                              "skybox-base-360",
                              "skybox-hdri",
                              "texture",
                              "texture:albedo",
                              "texture:ao",
                              "texture:edge",
                              "texture:height",
                              "texture:metallic",
                              "texture:normal",
                              "texture:smoothness",
                              "txt23d",
                              "txt2audio",
                              "txt2img",
                              "txt2txt",
                              "txt2video",
                              "unknown",
                              "uploaded",
                              "uploaded-3d",
                              "uploaded-audio",
                              "uploaded-avatar",
                              "uploaded-text",
                              "uploaded-video",
                              "upscale",
                              "upscale-skybox",
                              "upscale-texture",
                              "upscale-video",
                              "vectorization",
                              "video23d",
                              "video2audio",
                              "video2img",
                              "video2txt",
                              "video2video",
                              "voice-clone"
                            ],
                            "type": "string"
                          },
                          "status": {
                            "description": "The actual status",
                            "enum": [
                              "error",
                              "pending",
                              "success"
                            ],
                            "type": "string"
                          },
                          "tags": {
                            "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "thumbnail": {
                            "additionalProperties": false,
                            "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                            "properties": {
                              "assetId": {
                                "type": "string"
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "updatedAt": {
                            "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "url": {
                            "description": "Signed URL to get the asset content",
                            "type": "string"
                          }
                        },
                        "required": [
                          "authorId",
                          "collectionIds",
                          "createdAt",
                          "editCapabilities",
                          "id",
                          "kind",
                          "metadata",
                          "mimeType",
                          "ownerId",
                          "privacy",
                          "properties",
                          "source",
                          "status",
                          "tags",
                          "updatedAt",
                          "url"
                        ],
                        "type": "object"
                      }
                    },
                    "nextPaginationToken": {
                      "type": "string",
                      "description": "A token to query the next page of assets"
                    }
                  },
                  "required": [
                    "assets"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "post": {
        "operationId": "PostAsset",
        "description": "Upload an image or canvas",
        "tags": [
          "Assets"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "asset": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "automaticCaptioning": {
                          "description": "Automatic captioning of the asset",
                          "type": "string"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this asset belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                          "type": "string"
                        },
                        "description": {
                          "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                          "type": "string"
                        },
                        "editCapabilities": {
                          "description": "List of edit capabilities",
                          "items": {
                            "enum": [
                              "DETECTION",
                              "GENERATIVE_FILL",
                              "PIXELATE",
                              "PROMPT_EDITING",
                              "REFINE",
                              "REFRAME",
                              "REMOVE_BACKGROUND",
                              "SEGMENTATION",
                              "UPSCALE",
                              "UPSCALE_360",
                              "VECTORIZATION"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "embedding": {
                          "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                          "items": {
                            "type": "number"
                          },
                          "type": "array"
                        },
                        "firstFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "id": {
                          "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "isHidden": {
                          "description": "Whether the asset is hidden.",
                          "type": "boolean"
                        },
                        "kind": {
                          "description": "The kind of asset",
                          "enum": [
                            "3d",
                            "audio",
                            "document",
                            "image",
                            "image-hdr",
                            "json",
                            "text",
                            "video"
                          ],
                          "type": "string"
                        },
                        "lastFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the asset with some additional information",
                          "properties": {
                            "angular": {
                              "default": 0.5,
                              "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "aspectRatio": {
                              "description": "The optional aspect ratio given for the generation, only applicable for some models",
                              "type": "string"
                            },
                            "backgroundOpacity": {
                              "default": 0,
                              "maximum": 255,
                              "minimum": 0,
                              "type": "number"
                            },
                            "baseModelId": {
                              "description": "The baseModelId that maybe changed at inference time",
                              "type": "string"
                            },
                            "bbox": {
                              "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 4,
                              "minItems": 4,
                              "type": "array"
                            },
                            "betterQuality": {
                              "default": false,
                              "type": "boolean"
                            },
                            "cannyStructureImage": {
                              "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "clustering": {
                              "default": false,
                              "description": "Activate clustering.",
                              "type": "boolean"
                            },
                            "colorCorrection": {
                              "default": true,
                              "description": "Ensure upscaled tile have the same color histogram as original tile.",
                              "type": "boolean"
                            },
                            "colorMode": {
                              "type": "string"
                            },
                            "colorPrecision": {
                              "type": "number"
                            },
                            "concepts": {
                              "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "modelEpoch": {
                                    "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                    "type": "string"
                                  },
                                  "scale": {
                                    "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                    "maximum": 2,
                                    "minimum": -2,
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "modelId",
                                  "scale"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "contours": {
                              "items": {
                                "items": {
                                  "items": {
                                    "items": {
                                      "type": "number"
                                    },
                                    "type": "array"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "type": "array"
                            },
                            "controlEnd": {
                              "description": "End step for control.",
                              "type": "number"
                            },
                            "copiedAt": {
                              "description": "The date when the asset was copied to a project",
                              "type": "string"
                            },
                            "cornerThreshold": {
                              "type": "number"
                            },
                            "creativity": {
                              "default": 35,
                              "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "creativityDecay": {
                              "default": 80,
                              "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "defaultParameters": {
                              "default": false,
                              "description": "If true, use the default parameters",
                              "type": "boolean"
                            },
                            "depthFidelity": {
                              "default": 90,
                              "description": "The depth fidelity if a depth image provided",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "depthImage": {
                              "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "detailsLevel": {
                              "default": 0,
                              "description": "Amount of details to remove or add",
                              "maximum": 50,
                              "minimum": -50,
                              "type": "number"
                            },
                            "dilate": {
                              "default": 0,
                              "maximum": 30,
                              "minimum": 0,
                              "type": "number"
                            },
                            "factor": {
                              "default": 5,
                              "description": "Contrast factor for Grayscale detector",
                              "type": "number"
                            },
                            "fileName": {
                              "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                              "type": "string"
                            },
                            "filterSpeckle": {
                              "type": "number"
                            },
                            "fractality": {
                              "default": 40,
                              "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "geometryEnforcement": {
                              "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "guidance": {
                              "description": "The guidance used to generate this asset",
                              "type": "number"
                            },
                            "halfMode": {
                              "type": "boolean"
                            },
                            "hdr": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            },
                            "highThreshold": {
                              "default": 200,
                              "description": "High threshold for Canny detector",
                              "type": "number"
                            },
                            "horizontalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Horizontal expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "image": {
                              "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                              "type": "string"
                            },
                            "imageFidelity": {
                              "default": 50,
                              "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "imageType": {
                              "default": "seamfull",
                              "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                              "enum": [
                                "seamfull",
                                "skybox",
                                "texture"
                              ],
                              "type": "string"
                            },
                            "inferenceId": {
                              "description": "The id of the Inference describing how this image was generated",
                              "type": "string"
                            },
                            "inputFidelity": {
                              "default": "low",
                              "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                              "enum": [
                                "high",
                                "low"
                              ],
                              "type": "string"
                            },
                            "inputLocation": {
                              "default": "middle",
                              "description": "Location of the input image in the output.",
                              "enum": [
                                "bottom",
                                "left",
                                "middle",
                                "right",
                                "top"
                              ],
                              "type": "string"
                            },
                            "invert": {
                              "default": false,
                              "description": "To invert the relief",
                              "type": "boolean"
                            },
                            "keepsFileNames": {
                              "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                              "type": "boolean"
                            },
                            "keypointThreshold": {
                              "default": 0.3,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "kind": {
                              "enum": [
                                "3d",
                                "audio",
                                "document",
                                "image",
                                "image-hdr",
                                "json",
                                "text",
                                "video"
                              ],
                              "type": "string"
                            },
                            "layerDifference": {
                              "type": "number"
                            },
                            "lengthThreshold": {
                              "type": "number"
                            },
                            "lockExpiresAt": {
                              "description": "The ISO timestamp when the lock on the canvas will expire",
                              "type": "string"
                            },
                            "lowThreshold": {
                              "default": 100,
                              "description": "Low threshold for Canny detector",
                              "type": "number"
                            },
                            "mask": {
                              "description": "The mask used for the asset generation or editing",
                              "type": "string"
                            },
                            "maxIterations": {
                              "type": "number"
                            },
                            "maxThreshold": {
                              "default": 90,
                              "description": "Maximum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "minThreshold": {
                              "default": 10,
                              "description": "Minimum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "modality": {
                              "default": "canny",
                              "description": "Modality to detect",
                              "enum": [
                                "canny",
                                "depth",
                                "grayscale",
                                "lineart_anime",
                                "mlsd",
                                "normal",
                                "pose",
                                "scribble",
                                "segmentation",
                                "sketch"
                              ],
                              "type": "string"
                            },
                            "mode": {
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The modelId used to generate this asset",
                              "type": "string"
                            },
                            "modelType": {
                              "description": "The type of the generator used",
                              "enum": [
                                "custom",
                                "elevenlabs-voice",
                                "flux.1",
                                "flux.1-composition",
                                "flux.1-kontext-dev",
                                "flux.1-kontext-lora",
                                "flux.1-krea-dev",
                                "flux.1-krea-lora",
                                "flux.1-lora",
                                "flux.1-pro",
                                "flux.1.1-pro-ultra",
                                "flux.2-dev-edit-lora",
                                "flux.2-dev-lora",
                                "flux.2-klein-4b-edit-lora",
                                "flux.2-klein-4b-lora",
                                "flux.2-klein-9b-edit-lora",
                                "flux.2-klein-9b-lora",
                                "flux.2-klein-base-4b-edit-lora",
                                "flux.2-klein-base-4b-lora",
                                "flux.2-klein-base-9b-edit-lora",
                                "flux.2-klein-base-9b-lora",
                                "flux1.1-pro",
                                "gpt-image-1",
                                "qwen-image-2512-lora",
                                "qwen-image-edit-2509-lora",
                                "qwen-image-edit-2511-lora",
                                "qwen-image-edit-lora",
                                "qwen-image-lora",
                                "zimage-de-turbo-lora",
                                "zimage-lora",
                                "zimage-turbo-lora"
                              ],
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "nbMasks": {
                              "type": "number"
                            },
                            "negativePrompt": {
                              "description": "The negative prompt used to generate this asset",
                              "type": "string"
                            },
                            "negativePromptStrength": {
                              "default": 0,
                              "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                              "maximum": 10,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numInferenceSteps": {
                              "default": 10,
                              "description": "The number of denoising steps for each image generation.",
                              "maximum": 50,
                              "minimum": 5,
                              "type": "number"
                            },
                            "numOutputs": {
                              "default": 4,
                              "description": "The number of outputs to generate.",
                              "maximum": 8,
                              "minimum": 1,
                              "type": "number"
                            },
                            "originalAssetId": {
                              "type": "string"
                            },
                            "outputIndex": {
                              "type": "number"
                            },
                            "overlapPercentage": {
                              "default": 0.08,
                              "description": "Overlap percentage for the output image.",
                              "maximum": 0.5,
                              "minimum": 0,
                              "type": "number"
                            },
                            "overrideEmbeddings": {
                              "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                              "type": "boolean"
                            },
                            "parentId": {
                              "type": "string"
                            },
                            "parentJobId": {
                              "type": "string"
                            },
                            "pathPrecision": {
                              "type": "number"
                            },
                            "points": {
                              "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                              "items": {
                                "items": {
                                  "type": "number"
                                },
                                "type": "array"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "polished": {
                              "default": 0.5,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "preset": {
                              "type": "string"
                            },
                            "progressPercent": {
                              "type": "number"
                            },
                            "prompt": {
                              "description": "The prompt that guided the asset generation or editing",
                              "type": "string"
                            },
                            "promptFidelity": {
                              "default": 50,
                              "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "raised": {
                              "default": 0.5,
                              "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "referenceImages": {
                              "description": "The reference images used for the asset generation or editing",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "refinementSteps": {
                              "default": 0,
                              "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                              "maximum": 4,
                              "minimum": 0,
                              "type": "number"
                            },
                            "removeBackground": {
                              "default": true,
                              "description": "Remove background for Grayscale detector",
                              "type": "boolean"
                            },
                            "resizeOption": {
                              "default": 1,
                              "description": "Size proportion of the input image in the output.",
                              "maximum": 1,
                              "minimum": 0.1,
                              "type": "number"
                            },
                            "resultContours": {
                              "default": false,
                              "description": "Boolean to output the contours.",
                              "type": "boolean"
                            },
                            "resultImage": {
                              "default": false,
                              "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                              "type": "boolean"
                            },
                            "resultMask": {
                              "default": true,
                              "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                              "type": "boolean"
                            },
                            "rootParentId": {
                              "type": "string"
                            },
                            "saveFlipbook": {
                              "default": true,
                              "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                              "type": "boolean"
                            },
                            "scalingFactor": {
                              "default": 2,
                              "description": "Scaling factor (when `targetWidth` not specified)",
                              "maximum": 16,
                              "minimum": 1,
                              "type": "number"
                            },
                            "scheduler": {
                              "description": "The scheduler used to generate this asset",
                              "type": "string"
                            },
                            "seed": {
                              "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                              "type": "string"
                            },
                            "sharpen": {
                              "default": false,
                              "description": "Sharpen tiles.",
                              "type": "boolean"
                            },
                            "shiny": {
                              "default": 0.5,
                              "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "sketch": {
                              "default": false,
                              "description": "Activate sketch detection instead of canny.",
                              "type": "boolean"
                            },
                            "sourceProjectId": {
                              "type": "string"
                            },
                            "spliceThreshold": {
                              "type": "number"
                            },
                            "strength": {
                              "default": 1,
                              "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                              "type": "number"
                            },
                            "structureFidelity": {
                              "default": 35,
                              "description": "Strength for the input image structure preservation",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "structureImage": {
                              "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "style": {
                              "enum": [
                                "3d-cartoon",
                                "3d-rendered",
                                "anime",
                                "cartoon",
                                "cinematic",
                                "claymation",
                                "cloud-skydome",
                                "comic",
                                "cyberpunk",
                                "enchanted",
                                "fantasy",
                                "ink",
                                "manga",
                                "manga-color",
                                "minimalist",
                                "neon-tron",
                                "oil-painting",
                                "pastel",
                                "photo",
                                "photography",
                                "psychedelic",
                                "retro-fantasy",
                                "scifi-concept-art",
                                "space",
                                "standard",
                                "whimsical"
                              ],
                              "type": "string"
                            },
                            "styleFidelity": {
                              "default": 20,
                              "description": "The higher the value the more it will look like the style image(s)",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "styleImages": {
                              "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                              "items": {
                                "type": "string"
                              },
                              "maxItems": 10,
                              "type": "array"
                            },
                            "styleImagesFidelity": {
                              "default": 17,
                              "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetHeight": {
                              "default": 1024,
                              "description": "The target height of the output image.",
                              "maximum": 2048,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetWidth": {
                              "description": "Target width for the upscaled image, take priority over scaling factor",
                              "maximum": 16000,
                              "minimum": 1024,
                              "type": "number"
                            },
                            "text": {
                              "description": "A textual description / keywords describing the object of interest.",
                              "maxLength": 100,
                              "type": "string"
                            },
                            "texture": {
                              "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "thumbnail": {
                              "additionalProperties": false,
                              "description": "The thumbnail of the canvas",
                              "properties": {
                                "assetId": {
                                  "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                  "type": "string"
                                },
                                "url": {
                                  "description": "The url of the image used as a thumbnail for the canvas",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "assetId",
                                "url"
                              ],
                              "type": "object"
                            },
                            "tileStyle": {
                              "default": false,
                              "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                              "type": "boolean"
                            },
                            "trainingImage": {
                              "type": "boolean"
                            },
                            "type": {
                              "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                              "enum": [
                                "3d-texture",
                                "3d-texture-albedo",
                                "3d-texture-metallic",
                                "3d-texture-mtl",
                                "3d-texture-normal",
                                "3d-texture-roughness",
                                "3d23d",
                                "3d23d-texture",
                                "audio2audio",
                                "audio2txt",
                                "audio2video",
                                "background-removal",
                                "canvas",
                                "canvas-drawing",
                                "canvas-export",
                                "detection",
                                "generative-fill",
                                "image-prompt-editing",
                                "img23d",
                                "img2img",
                                "img2splat",
                                "img2txt",
                                "img2video",
                                "inference-controlnet",
                                "inference-controlnet-img2img",
                                "inference-controlnet-inpaint",
                                "inference-controlnet-inpaint-ip-adapter",
                                "inference-controlnet-ip-adapter",
                                "inference-controlnet-reference",
                                "inference-controlnet-texture",
                                "inference-img2img",
                                "inference-img2img-ip-adapter",
                                "inference-img2img-texture",
                                "inference-inpaint",
                                "inference-inpaint-ip-adapter",
                                "inference-reference",
                                "inference-reference-texture",
                                "inference-txt2img",
                                "inference-txt2img-ip-adapter",
                                "inference-txt2img-texture",
                                "patch",
                                "pixelization",
                                "reframe",
                                "restyle",
                                "segment",
                                "segmentation-image",
                                "segmentation-mask",
                                "skybox-3d",
                                "skybox-base-360",
                                "skybox-hdri",
                                "texture",
                                "texture-albedo",
                                "texture-ao",
                                "texture-edge",
                                "texture-height",
                                "texture-metallic",
                                "texture-normal",
                                "texture-smoothness",
                                "txt23d",
                                "txt2audio",
                                "txt2img",
                                "txt2txt",
                                "txt2video",
                                "unknown",
                                "uploaded",
                                "uploaded-3d",
                                "uploaded-audio",
                                "uploaded-avatar",
                                "uploaded-text",
                                "uploaded-video",
                                "upscale",
                                "upscale-skybox",
                                "upscale-texture",
                                "upscale-video",
                                "vectorization",
                                "video23d",
                                "video2audio",
                                "video2img",
                                "video2txt",
                                "video2video",
                                "voice-clone"
                              ],
                              "type": "string"
                            },
                            "verticalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Vertical expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "width": {
                              "default": 1536,
                              "description": "The width of the rendered image.",
                              "maximum": 2048,
                              "minimum": 1024,
                              "type": "number"
                            }
                          },
                          "required": [
                            "kind",
                            "type"
                          ],
                          "type": "object"
                        },
                        "mimeType": {
                          "description": "The mime type of the asset (example: \"image/png\")",
                          "type": "string"
                        },
                        "nsfw": {
                          "description": "The NSFW labels",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "originalFileUrl": {
                          "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                          "type": "string"
                        },
                        "originalMimeType": {
                          "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                          "enum": [
                            "application/gzip",
                            "application/json",
                            "application/octet-stream",
                            "application/pdf",
                            "application/safetensors",
                            "application/vnd.autodesk.fbx",
                            "application/x-authorware-bin",
                            "application/x-zip-compressed",
                            "application/x.autodesk.fbx",
                            "application/zip",
                            "audio/flac",
                            "audio/m4a",
                            "audio/mpeg",
                            "audio/ogg",
                            "audio/wav",
                            "image/aces",
                            "image/avif",
                            "image/bmp",
                            "image/gif",
                            "image/heic",
                            "image/jpeg",
                            "image/png",
                            "image/svg+xml",
                            "image/tiff",
                            "image/vnd.radiance",
                            "image/webp",
                            "image/x-exr",
                            "model/glb",
                            "model/gltf+json",
                            "model/gltf-binary",
                            "model/ksplat",
                            "model/mtl",
                            "model/obj",
                            "model/ply",
                            "model/sog",
                            "model/splat",
                            "model/spz",
                            "model/stl",
                            "model/vnd.collada+xml",
                            "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                            "model/vnd.usdz+zip",
                            "model/x-3d-vox",
                            "model/x-blender",
                            "model/x-fbx",
                            "model/x-maya-ascii",
                            "model/x-maya-binary",
                            "model/x-vsplat",
                            "model/x3d+xml",
                            "text/plain",
                            "video/mp4",
                            "video/quicktime",
                            "video/webm"
                          ],
                          "type": "string"
                        },
                        "outputIndex": {
                          "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                          "type": "number"
                        },
                        "ownerId": {
                          "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                          "type": "string"
                        },
                        "preview": {
                          "additionalProperties": false,
                          "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "description": "The privacy of the asset",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "properties": {
                          "additionalProperties": false,
                          "description": "The properties of the asset, content may depend on the kind of asset returned",
                          "properties": {
                            "animationFrameCount": {
                              "description": "Number of animation frames if animations exist",
                              "type": "number"
                            },
                            "bitrate": {
                              "description": "Bitrate of the media in bits per second",
                              "type": "number"
                            },
                            "boneCount": {
                              "description": "Number of bones if skeleton exists",
                              "type": "number"
                            },
                            "cameraMode": {
                              "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "enum": [
                                "aerial",
                                "interior",
                                "turntable"
                              ],
                              "type": "string"
                            },
                            "cameraTrajectory": {
                              "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "items": {
                                "additionalProperties": false,
                                "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                "properties": {
                                  "fov": {
                                    "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                    "type": "number"
                                  },
                                  "position": {
                                    "description": "Camera eye position in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "target": {
                                    "description": "Look-at point in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "position",
                                  "target"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "channels": {
                              "description": "Number of channels of the audio",
                              "type": "number"
                            },
                            "charCount": {
                              "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                              "type": "number"
                            },
                            "classification": {
                              "description": "Classification of the audio",
                              "enum": [
                                "effect",
                                "interview",
                                "music",
                                "other",
                                "sound",
                                "speech",
                                "text",
                                "unknown"
                              ],
                              "type": "string"
                            },
                            "codecName": {
                              "description": "Codec name of the media",
                              "type": "string"
                            },
                            "description": {
                              "description": "Description of the audio",
                              "type": "string"
                            },
                            "dimensions": {
                              "description": "Bounding box dimensions [width, height, depth]",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "duration": {
                              "description": "Duration of the media in seconds",
                              "type": "number"
                            },
                            "faceCount": {
                              "description": "Number of faces/triangles in the mesh",
                              "type": "number"
                            },
                            "format": {
                              "description": "Format of the mesh file (e.g. 'glb', etc.)",
                              "type": "string"
                            },
                            "frameRate": {
                              "description": "Frame rate of the video in frames per second",
                              "type": "number"
                            },
                            "hasAnimations": {
                              "description": "Whether the mesh has animations",
                              "type": "boolean"
                            },
                            "hasFullPreview": {
                              "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                              "type": "boolean"
                            },
                            "hasNormals": {
                              "description": "Whether the mesh has normal vectors",
                              "type": "boolean"
                            },
                            "hasSkeleton": {
                              "description": "Whether the mesh has bones/skeleton",
                              "type": "boolean"
                            },
                            "hasUVs": {
                              "description": "Whether the mesh has UV coordinates",
                              "type": "boolean"
                            },
                            "height": {
                              "type": "number"
                            },
                            "nbFrames": {
                              "description": "Number of frames in the video",
                              "type": "number"
                            },
                            "preview": {
                              "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                              "type": "string"
                            },
                            "sampleRate": {
                              "description": "Sample rate of the media in Hz",
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "transcription": {
                              "additionalProperties": false,
                              "description": "Transcription of the audio",
                              "properties": {
                                "text": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text"
                              ],
                              "type": "object"
                            },
                            "vertexCount": {
                              "description": "Number of vertices in the mesh",
                              "type": "number"
                            },
                            "width": {
                              "type": "number"
                            },
                            "wordCount": {
                              "description": "Number of whitespace-separated words in the text",
                              "type": "number"
                            }
                          },
                          "required": [
                            "size"
                          ],
                          "type": "object"
                        },
                        "qualityGate": {
                          "additionalProperties": false,
                          "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                          "properties": {
                            "aiQualityScore": {
                              "description": "Generic AI-quality sub-score",
                              "type": "number"
                            },
                            "appliedBriefIds": {
                              "description": "Ids of briefs that contributed",
                              "items": {
                                "description": "Opaque identifier for a brief, derived from its scope.",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "briefComplianceScore": {
                              "description": "Brief-compliance sub-score (omitted when no brief applied)",
                              "type": "number"
                            },
                            "computedAt": {
                              "description": "ISO-8601 timestamp of when scoring ran",
                              "type": "string"
                            },
                            "details": {
                              "additionalProperties": false,
                              "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                              "properties": {
                                "aiQuality": {
                                  "additionalProperties": false,
                                  "description": "Always-on generic AI-quality dimension",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                },
                                "briefCompliance": {
                                  "additionalProperties": false,
                                  "description": "Brief-compliance dimension; omitted when no brief applied",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                }
                              },
                              "required": [
                                "aiQuality"
                              ],
                              "type": "object"
                            },
                            "error": {
                              "description": "Error message when status is 'error' (truncated)",
                              "type": "string"
                            },
                            "overallScore": {
                              "description": "0–100 composite score (present when status is 'scored')",
                              "type": "number"
                            },
                            "sensitivity": {
                              "description": "Sensitivity used for the verdict",
                              "enum": [
                                "high",
                                "low",
                                "medium"
                              ],
                              "type": "string"
                            },
                            "status": {
                              "description": "Whether scoring succeeded or errored",
                              "enum": [
                                "error",
                                "scored"
                              ],
                              "type": "string"
                            },
                            "verdict": {
                              "description": "pass / warn / fail (present when status is 'scored')",
                              "enum": [
                                "fail",
                                "pass",
                                "warn"
                              ],
                              "type": "string"
                            },
                            "version": {
                              "description": "Rubric/model version that produced this result",
                              "type": "string"
                            }
                          },
                          "required": [
                            "computedAt",
                            "status",
                            "version"
                          ],
                          "type": "object"
                        },
                        "source": {
                          "description": "source of the asset",
                          "enum": [
                            "3d23d",
                            "3d23d:texture",
                            "3d:texture",
                            "3d:texture:albedo",
                            "3d:texture:metallic",
                            "3d:texture:mtl",
                            "3d:texture:normal",
                            "3d:texture:roughness",
                            "audio2audio",
                            "audio2txt",
                            "audio2video",
                            "background-removal",
                            "canvas",
                            "canvas-drawing",
                            "canvas-export",
                            "detection",
                            "generative-fill",
                            "image-prompt-editing",
                            "img23d",
                            "img2img",
                            "img2splat",
                            "img2txt",
                            "img2video",
                            "inference-control-net",
                            "inference-control-net-img",
                            "inference-control-net-inpainting",
                            "inference-control-net-inpainting-ip-adapter",
                            "inference-control-net-ip-adapter",
                            "inference-control-net-reference",
                            "inference-control-net-texture",
                            "inference-img",
                            "inference-img-ip-adapter",
                            "inference-img-texture",
                            "inference-in-paint",
                            "inference-in-paint-ip-adapter",
                            "inference-reference",
                            "inference-reference-texture",
                            "inference-txt",
                            "inference-txt-ip-adapter",
                            "inference-txt-texture",
                            "patch",
                            "pixelization",
                            "reframe",
                            "restyle",
                            "segment",
                            "segmentation-image",
                            "segmentation-mask",
                            "skybox-3d",
                            "skybox-base-360",
                            "skybox-hdri",
                            "texture",
                            "texture:albedo",
                            "texture:ao",
                            "texture:edge",
                            "texture:height",
                            "texture:metallic",
                            "texture:normal",
                            "texture:smoothness",
                            "txt23d",
                            "txt2audio",
                            "txt2img",
                            "txt2txt",
                            "txt2video",
                            "unknown",
                            "uploaded",
                            "uploaded-3d",
                            "uploaded-audio",
                            "uploaded-avatar",
                            "uploaded-text",
                            "uploaded-video",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "upscale-video",
                            "vectorization",
                            "video23d",
                            "video2audio",
                            "video2img",
                            "video2txt",
                            "video2video",
                            "voice-clone"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The actual status",
                          "enum": [
                            "error",
                            "pending",
                            "success"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "url": {
                          "description": "Signed URL to get the asset content",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "collectionIds",
                        "createdAt",
                        "editCapabilities",
                        "id",
                        "kind",
                        "metadata",
                        "mimeType",
                        "ownerId",
                        "privacy",
                        "properties",
                        "source",
                        "status",
                        "tags",
                        "updatedAt",
                        "url"
                      ],
                      "type": "object"
                    },
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "asset"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "image": {
                    "type": "string",
                    "description": "The image to upload in base64 format string."
                  },
                  "canvas": {
                    "type": "string",
                    "description": "The canvas to upload as a stringified JSON. Ignored if `image` is provided."
                  },
                  "thumbnail": {
                    "type": "string",
                    "description": "The thumbnail for the canvas in base64 format string. Ignored if `image` is provided."
                  },
                  "name": {
                    "type": "string",
                    "description": "The original file name of the image (example: \"low-res-image.jpg\")."
                  },
                  "parentId": {
                    "type": "string",
                    "description": "Specifies the parent asset Id for the asset."
                  },
                  "hide": {
                    "type": "boolean",
                    "description": "Toggles the hidden status of the asset."
                  },
                  "collectionIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "The IDs of the collections to add the asset to. If provided, the new asset will be added to the collections."
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteAsset",
        "description": "Delete multiple assets",
        "tags": [
          "Assets"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "assetIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "The ids of the assets to delete. (Max 100 at once)"
                  }
                },
                "required": [
                  "assetIds"
                ]
              }
            }
          }
        }
      }
    },
    "/assets/{assetId}": {
      "get": {
        "operationId": "GetAssetsByAssetId",
        "description": "Get the details of an asset.\nSupports both public access (via the `Authorization` header set to `public-auth-token`) and authenticated user access (including API keys).",
        "tags": [
          "Assets"
        ],
        "parameters": [
          {
            "name": "assetId",
            "in": "path",
            "required": true,
            "description": "The asset ID to retrieve",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withEmbedding",
            "in": "query",
            "required": false,
            "description": "Include the embedding in the response",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withQualityGateDetails",
            "in": "query",
            "required": false,
            "description": "Include the per-dimension Quality Gate verdict (`qualityGate.details`: reasons and suggestions for each scored dimension). Honoured only when the asset belongs to the calling project, since the brief-compliance text paraphrases that project’s brief; ignored otherwise, including on public unauthenticated access.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "asset": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "automaticCaptioning": {
                          "description": "Automatic captioning of the asset",
                          "type": "string"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this asset belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                          "type": "string"
                        },
                        "description": {
                          "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                          "type": "string"
                        },
                        "editCapabilities": {
                          "description": "List of edit capabilities",
                          "items": {
                            "enum": [
                              "DETECTION",
                              "GENERATIVE_FILL",
                              "PIXELATE",
                              "PROMPT_EDITING",
                              "REFINE",
                              "REFRAME",
                              "REMOVE_BACKGROUND",
                              "SEGMENTATION",
                              "UPSCALE",
                              "UPSCALE_360",
                              "VECTORIZATION"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "embedding": {
                          "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                          "items": {
                            "type": "number"
                          },
                          "type": "array"
                        },
                        "firstFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "id": {
                          "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "isHidden": {
                          "description": "Whether the asset is hidden.",
                          "type": "boolean"
                        },
                        "kind": {
                          "description": "The kind of asset",
                          "enum": [
                            "3d",
                            "audio",
                            "document",
                            "image",
                            "image-hdr",
                            "json",
                            "text",
                            "video"
                          ],
                          "type": "string"
                        },
                        "lastFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the asset with some additional information",
                          "properties": {
                            "angular": {
                              "default": 0.5,
                              "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "aspectRatio": {
                              "description": "The optional aspect ratio given for the generation, only applicable for some models",
                              "type": "string"
                            },
                            "backgroundOpacity": {
                              "default": 0,
                              "maximum": 255,
                              "minimum": 0,
                              "type": "number"
                            },
                            "baseModelId": {
                              "description": "The baseModelId that maybe changed at inference time",
                              "type": "string"
                            },
                            "bbox": {
                              "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 4,
                              "minItems": 4,
                              "type": "array"
                            },
                            "betterQuality": {
                              "default": false,
                              "type": "boolean"
                            },
                            "cannyStructureImage": {
                              "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "clustering": {
                              "default": false,
                              "description": "Activate clustering.",
                              "type": "boolean"
                            },
                            "colorCorrection": {
                              "default": true,
                              "description": "Ensure upscaled tile have the same color histogram as original tile.",
                              "type": "boolean"
                            },
                            "colorMode": {
                              "type": "string"
                            },
                            "colorPrecision": {
                              "type": "number"
                            },
                            "concepts": {
                              "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "modelEpoch": {
                                    "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                    "type": "string"
                                  },
                                  "scale": {
                                    "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                    "maximum": 2,
                                    "minimum": -2,
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "modelId",
                                  "scale"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "contours": {
                              "items": {
                                "items": {
                                  "items": {
                                    "items": {
                                      "type": "number"
                                    },
                                    "type": "array"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "type": "array"
                            },
                            "controlEnd": {
                              "description": "End step for control.",
                              "type": "number"
                            },
                            "copiedAt": {
                              "description": "The date when the asset was copied to a project",
                              "type": "string"
                            },
                            "cornerThreshold": {
                              "type": "number"
                            },
                            "creativity": {
                              "default": 35,
                              "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "creativityDecay": {
                              "default": 80,
                              "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "defaultParameters": {
                              "default": false,
                              "description": "If true, use the default parameters",
                              "type": "boolean"
                            },
                            "depthFidelity": {
                              "default": 90,
                              "description": "The depth fidelity if a depth image provided",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "depthImage": {
                              "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "detailsLevel": {
                              "default": 0,
                              "description": "Amount of details to remove or add",
                              "maximum": 50,
                              "minimum": -50,
                              "type": "number"
                            },
                            "dilate": {
                              "default": 0,
                              "maximum": 30,
                              "minimum": 0,
                              "type": "number"
                            },
                            "factor": {
                              "default": 5,
                              "description": "Contrast factor for Grayscale detector",
                              "type": "number"
                            },
                            "fileName": {
                              "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                              "type": "string"
                            },
                            "filterSpeckle": {
                              "type": "number"
                            },
                            "fractality": {
                              "default": 40,
                              "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "geometryEnforcement": {
                              "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "guidance": {
                              "description": "The guidance used to generate this asset",
                              "type": "number"
                            },
                            "halfMode": {
                              "type": "boolean"
                            },
                            "hdr": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            },
                            "highThreshold": {
                              "default": 200,
                              "description": "High threshold for Canny detector",
                              "type": "number"
                            },
                            "horizontalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Horizontal expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "image": {
                              "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                              "type": "string"
                            },
                            "imageFidelity": {
                              "default": 50,
                              "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "imageType": {
                              "default": "seamfull",
                              "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                              "enum": [
                                "seamfull",
                                "skybox",
                                "texture"
                              ],
                              "type": "string"
                            },
                            "inferenceId": {
                              "description": "The id of the Inference describing how this image was generated",
                              "type": "string"
                            },
                            "inputFidelity": {
                              "default": "low",
                              "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                              "enum": [
                                "high",
                                "low"
                              ],
                              "type": "string"
                            },
                            "inputLocation": {
                              "default": "middle",
                              "description": "Location of the input image in the output.",
                              "enum": [
                                "bottom",
                                "left",
                                "middle",
                                "right",
                                "top"
                              ],
                              "type": "string"
                            },
                            "invert": {
                              "default": false,
                              "description": "To invert the relief",
                              "type": "boolean"
                            },
                            "keepsFileNames": {
                              "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                              "type": "boolean"
                            },
                            "keypointThreshold": {
                              "default": 0.3,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "kind": {
                              "enum": [
                                "3d",
                                "audio",
                                "document",
                                "image",
                                "image-hdr",
                                "json",
                                "text",
                                "video"
                              ],
                              "type": "string"
                            },
                            "layerDifference": {
                              "type": "number"
                            },
                            "lengthThreshold": {
                              "type": "number"
                            },
                            "lockExpiresAt": {
                              "description": "The ISO timestamp when the lock on the canvas will expire",
                              "type": "string"
                            },
                            "lowThreshold": {
                              "default": 100,
                              "description": "Low threshold for Canny detector",
                              "type": "number"
                            },
                            "mask": {
                              "description": "The mask used for the asset generation or editing",
                              "type": "string"
                            },
                            "maxIterations": {
                              "type": "number"
                            },
                            "maxThreshold": {
                              "default": 90,
                              "description": "Maximum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "minThreshold": {
                              "default": 10,
                              "description": "Minimum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "modality": {
                              "default": "canny",
                              "description": "Modality to detect",
                              "enum": [
                                "canny",
                                "depth",
                                "grayscale",
                                "lineart_anime",
                                "mlsd",
                                "normal",
                                "pose",
                                "scribble",
                                "segmentation",
                                "sketch"
                              ],
                              "type": "string"
                            },
                            "mode": {
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The modelId used to generate this asset",
                              "type": "string"
                            },
                            "modelType": {
                              "description": "The type of the generator used",
                              "enum": [
                                "custom",
                                "elevenlabs-voice",
                                "flux.1",
                                "flux.1-composition",
                                "flux.1-kontext-dev",
                                "flux.1-kontext-lora",
                                "flux.1-krea-dev",
                                "flux.1-krea-lora",
                                "flux.1-lora",
                                "flux.1-pro",
                                "flux.1.1-pro-ultra",
                                "flux.2-dev-edit-lora",
                                "flux.2-dev-lora",
                                "flux.2-klein-4b-edit-lora",
                                "flux.2-klein-4b-lora",
                                "flux.2-klein-9b-edit-lora",
                                "flux.2-klein-9b-lora",
                                "flux.2-klein-base-4b-edit-lora",
                                "flux.2-klein-base-4b-lora",
                                "flux.2-klein-base-9b-edit-lora",
                                "flux.2-klein-base-9b-lora",
                                "flux1.1-pro",
                                "gpt-image-1",
                                "qwen-image-2512-lora",
                                "qwen-image-edit-2509-lora",
                                "qwen-image-edit-2511-lora",
                                "qwen-image-edit-lora",
                                "qwen-image-lora",
                                "zimage-de-turbo-lora",
                                "zimage-lora",
                                "zimage-turbo-lora"
                              ],
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "nbMasks": {
                              "type": "number"
                            },
                            "negativePrompt": {
                              "description": "The negative prompt used to generate this asset",
                              "type": "string"
                            },
                            "negativePromptStrength": {
                              "default": 0,
                              "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                              "maximum": 10,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numInferenceSteps": {
                              "default": 10,
                              "description": "The number of denoising steps for each image generation.",
                              "maximum": 50,
                              "minimum": 5,
                              "type": "number"
                            },
                            "numOutputs": {
                              "default": 4,
                              "description": "The number of outputs to generate.",
                              "maximum": 8,
                              "minimum": 1,
                              "type": "number"
                            },
                            "originalAssetId": {
                              "type": "string"
                            },
                            "outputIndex": {
                              "type": "number"
                            },
                            "overlapPercentage": {
                              "default": 0.08,
                              "description": "Overlap percentage for the output image.",
                              "maximum": 0.5,
                              "minimum": 0,
                              "type": "number"
                            },
                            "overrideEmbeddings": {
                              "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                              "type": "boolean"
                            },
                            "parentId": {
                              "type": "string"
                            },
                            "parentJobId": {
                              "type": "string"
                            },
                            "pathPrecision": {
                              "type": "number"
                            },
                            "points": {
                              "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                              "items": {
                                "items": {
                                  "type": "number"
                                },
                                "type": "array"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "polished": {
                              "default": 0.5,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "preset": {
                              "type": "string"
                            },
                            "progressPercent": {
                              "type": "number"
                            },
                            "prompt": {
                              "description": "The prompt that guided the asset generation or editing",
                              "type": "string"
                            },
                            "promptFidelity": {
                              "default": 50,
                              "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "raised": {
                              "default": 0.5,
                              "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "referenceImages": {
                              "description": "The reference images used for the asset generation or editing",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "refinementSteps": {
                              "default": 0,
                              "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                              "maximum": 4,
                              "minimum": 0,
                              "type": "number"
                            },
                            "removeBackground": {
                              "default": true,
                              "description": "Remove background for Grayscale detector",
                              "type": "boolean"
                            },
                            "resizeOption": {
                              "default": 1,
                              "description": "Size proportion of the input image in the output.",
                              "maximum": 1,
                              "minimum": 0.1,
                              "type": "number"
                            },
                            "resultContours": {
                              "default": false,
                              "description": "Boolean to output the contours.",
                              "type": "boolean"
                            },
                            "resultImage": {
                              "default": false,
                              "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                              "type": "boolean"
                            },
                            "resultMask": {
                              "default": true,
                              "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                              "type": "boolean"
                            },
                            "rootParentId": {
                              "type": "string"
                            },
                            "saveFlipbook": {
                              "default": true,
                              "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                              "type": "boolean"
                            },
                            "scalingFactor": {
                              "default": 2,
                              "description": "Scaling factor (when `targetWidth` not specified)",
                              "maximum": 16,
                              "minimum": 1,
                              "type": "number"
                            },
                            "scheduler": {
                              "description": "The scheduler used to generate this asset",
                              "type": "string"
                            },
                            "seed": {
                              "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                              "type": "string"
                            },
                            "sharpen": {
                              "default": false,
                              "description": "Sharpen tiles.",
                              "type": "boolean"
                            },
                            "shiny": {
                              "default": 0.5,
                              "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "sketch": {
                              "default": false,
                              "description": "Activate sketch detection instead of canny.",
                              "type": "boolean"
                            },
                            "sourceProjectId": {
                              "type": "string"
                            },
                            "spliceThreshold": {
                              "type": "number"
                            },
                            "strength": {
                              "default": 1,
                              "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                              "type": "number"
                            },
                            "structureFidelity": {
                              "default": 35,
                              "description": "Strength for the input image structure preservation",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "structureImage": {
                              "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "style": {
                              "enum": [
                                "3d-cartoon",
                                "3d-rendered",
                                "anime",
                                "cartoon",
                                "cinematic",
                                "claymation",
                                "cloud-skydome",
                                "comic",
                                "cyberpunk",
                                "enchanted",
                                "fantasy",
                                "ink",
                                "manga",
                                "manga-color",
                                "minimalist",
                                "neon-tron",
                                "oil-painting",
                                "pastel",
                                "photo",
                                "photography",
                                "psychedelic",
                                "retro-fantasy",
                                "scifi-concept-art",
                                "space",
                                "standard",
                                "whimsical"
                              ],
                              "type": "string"
                            },
                            "styleFidelity": {
                              "default": 20,
                              "description": "The higher the value the more it will look like the style image(s)",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "styleImages": {
                              "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                              "items": {
                                "type": "string"
                              },
                              "maxItems": 10,
                              "type": "array"
                            },
                            "styleImagesFidelity": {
                              "default": 17,
                              "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetHeight": {
                              "default": 1024,
                              "description": "The target height of the output image.",
                              "maximum": 2048,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetWidth": {
                              "description": "Target width for the upscaled image, take priority over scaling factor",
                              "maximum": 16000,
                              "minimum": 1024,
                              "type": "number"
                            },
                            "text": {
                              "description": "A textual description / keywords describing the object of interest.",
                              "maxLength": 100,
                              "type": "string"
                            },
                            "texture": {
                              "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "thumbnail": {
                              "additionalProperties": false,
                              "description": "The thumbnail of the canvas",
                              "properties": {
                                "assetId": {
                                  "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                  "type": "string"
                                },
                                "url": {
                                  "description": "The url of the image used as a thumbnail for the canvas",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "assetId",
                                "url"
                              ],
                              "type": "object"
                            },
                            "tileStyle": {
                              "default": false,
                              "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                              "type": "boolean"
                            },
                            "trainingImage": {
                              "type": "boolean"
                            },
                            "type": {
                              "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                              "enum": [
                                "3d-texture",
                                "3d-texture-albedo",
                                "3d-texture-metallic",
                                "3d-texture-mtl",
                                "3d-texture-normal",
                                "3d-texture-roughness",
                                "3d23d",
                                "3d23d-texture",
                                "audio2audio",
                                "audio2txt",
                                "audio2video",
                                "background-removal",
                                "canvas",
                                "canvas-drawing",
                                "canvas-export",
                                "detection",
                                "generative-fill",
                                "image-prompt-editing",
                                "img23d",
                                "img2img",
                                "img2splat",
                                "img2txt",
                                "img2video",
                                "inference-controlnet",
                                "inference-controlnet-img2img",
                                "inference-controlnet-inpaint",
                                "inference-controlnet-inpaint-ip-adapter",
                                "inference-controlnet-ip-adapter",
                                "inference-controlnet-reference",
                                "inference-controlnet-texture",
                                "inference-img2img",
                                "inference-img2img-ip-adapter",
                                "inference-img2img-texture",
                                "inference-inpaint",
                                "inference-inpaint-ip-adapter",
                                "inference-reference",
                                "inference-reference-texture",
                                "inference-txt2img",
                                "inference-txt2img-ip-adapter",
                                "inference-txt2img-texture",
                                "patch",
                                "pixelization",
                                "reframe",
                                "restyle",
                                "segment",
                                "segmentation-image",
                                "segmentation-mask",
                                "skybox-3d",
                                "skybox-base-360",
                                "skybox-hdri",
                                "texture",
                                "texture-albedo",
                                "texture-ao",
                                "texture-edge",
                                "texture-height",
                                "texture-metallic",
                                "texture-normal",
                                "texture-smoothness",
                                "txt23d",
                                "txt2audio",
                                "txt2img",
                                "txt2txt",
                                "txt2video",
                                "unknown",
                                "uploaded",
                                "uploaded-3d",
                                "uploaded-audio",
                                "uploaded-avatar",
                                "uploaded-text",
                                "uploaded-video",
                                "upscale",
                                "upscale-skybox",
                                "upscale-texture",
                                "upscale-video",
                                "vectorization",
                                "video23d",
                                "video2audio",
                                "video2img",
                                "video2txt",
                                "video2video",
                                "voice-clone"
                              ],
                              "type": "string"
                            },
                            "verticalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Vertical expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "width": {
                              "default": 1536,
                              "description": "The width of the rendered image.",
                              "maximum": 2048,
                              "minimum": 1024,
                              "type": "number"
                            }
                          },
                          "required": [
                            "kind",
                            "type"
                          ],
                          "type": "object"
                        },
                        "mimeType": {
                          "description": "The mime type of the asset (example: \"image/png\")",
                          "type": "string"
                        },
                        "nsfw": {
                          "description": "The NSFW labels",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "originalFileUrl": {
                          "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                          "type": "string"
                        },
                        "originalMimeType": {
                          "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                          "enum": [
                            "application/gzip",
                            "application/json",
                            "application/octet-stream",
                            "application/pdf",
                            "application/safetensors",
                            "application/vnd.autodesk.fbx",
                            "application/x-authorware-bin",
                            "application/x-zip-compressed",
                            "application/x.autodesk.fbx",
                            "application/zip",
                            "audio/flac",
                            "audio/m4a",
                            "audio/mpeg",
                            "audio/ogg",
                            "audio/wav",
                            "image/aces",
                            "image/avif",
                            "image/bmp",
                            "image/gif",
                            "image/heic",
                            "image/jpeg",
                            "image/png",
                            "image/svg+xml",
                            "image/tiff",
                            "image/vnd.radiance",
                            "image/webp",
                            "image/x-exr",
                            "model/glb",
                            "model/gltf+json",
                            "model/gltf-binary",
                            "model/ksplat",
                            "model/mtl",
                            "model/obj",
                            "model/ply",
                            "model/sog",
                            "model/splat",
                            "model/spz",
                            "model/stl",
                            "model/vnd.collada+xml",
                            "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                            "model/vnd.usdz+zip",
                            "model/x-3d-vox",
                            "model/x-blender",
                            "model/x-fbx",
                            "model/x-maya-ascii",
                            "model/x-maya-binary",
                            "model/x-vsplat",
                            "model/x3d+xml",
                            "text/plain",
                            "video/mp4",
                            "video/quicktime",
                            "video/webm"
                          ],
                          "type": "string"
                        },
                        "outputIndex": {
                          "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                          "type": "number"
                        },
                        "ownerId": {
                          "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                          "type": "string"
                        },
                        "preview": {
                          "additionalProperties": false,
                          "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "description": "The privacy of the asset",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "properties": {
                          "additionalProperties": false,
                          "description": "The properties of the asset, content may depend on the kind of asset returned",
                          "properties": {
                            "animationFrameCount": {
                              "description": "Number of animation frames if animations exist",
                              "type": "number"
                            },
                            "bitrate": {
                              "description": "Bitrate of the media in bits per second",
                              "type": "number"
                            },
                            "boneCount": {
                              "description": "Number of bones if skeleton exists",
                              "type": "number"
                            },
                            "cameraMode": {
                              "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "enum": [
                                "aerial",
                                "interior",
                                "turntable"
                              ],
                              "type": "string"
                            },
                            "cameraTrajectory": {
                              "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "items": {
                                "additionalProperties": false,
                                "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                "properties": {
                                  "fov": {
                                    "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                    "type": "number"
                                  },
                                  "position": {
                                    "description": "Camera eye position in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "target": {
                                    "description": "Look-at point in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "position",
                                  "target"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "channels": {
                              "description": "Number of channels of the audio",
                              "type": "number"
                            },
                            "charCount": {
                              "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                              "type": "number"
                            },
                            "classification": {
                              "description": "Classification of the audio",
                              "enum": [
                                "effect",
                                "interview",
                                "music",
                                "other",
                                "sound",
                                "speech",
                                "text",
                                "unknown"
                              ],
                              "type": "string"
                            },
                            "codecName": {
                              "description": "Codec name of the media",
                              "type": "string"
                            },
                            "description": {
                              "description": "Description of the audio",
                              "type": "string"
                            },
                            "dimensions": {
                              "description": "Bounding box dimensions [width, height, depth]",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "duration": {
                              "description": "Duration of the media in seconds",
                              "type": "number"
                            },
                            "faceCount": {
                              "description": "Number of faces/triangles in the mesh",
                              "type": "number"
                            },
                            "format": {
                              "description": "Format of the mesh file (e.g. 'glb', etc.)",
                              "type": "string"
                            },
                            "frameRate": {
                              "description": "Frame rate of the video in frames per second",
                              "type": "number"
                            },
                            "hasAnimations": {
                              "description": "Whether the mesh has animations",
                              "type": "boolean"
                            },
                            "hasFullPreview": {
                              "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                              "type": "boolean"
                            },
                            "hasNormals": {
                              "description": "Whether the mesh has normal vectors",
                              "type": "boolean"
                            },
                            "hasSkeleton": {
                              "description": "Whether the mesh has bones/skeleton",
                              "type": "boolean"
                            },
                            "hasUVs": {
                              "description": "Whether the mesh has UV coordinates",
                              "type": "boolean"
                            },
                            "height": {
                              "type": "number"
                            },
                            "nbFrames": {
                              "description": "Number of frames in the video",
                              "type": "number"
                            },
                            "preview": {
                              "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                              "type": "string"
                            },
                            "sampleRate": {
                              "description": "Sample rate of the media in Hz",
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "transcription": {
                              "additionalProperties": false,
                              "description": "Transcription of the audio",
                              "properties": {
                                "text": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text"
                              ],
                              "type": "object"
                            },
                            "vertexCount": {
                              "description": "Number of vertices in the mesh",
                              "type": "number"
                            },
                            "width": {
                              "type": "number"
                            },
                            "wordCount": {
                              "description": "Number of whitespace-separated words in the text",
                              "type": "number"
                            }
                          },
                          "required": [
                            "size"
                          ],
                          "type": "object"
                        },
                        "qualityGate": {
                          "additionalProperties": false,
                          "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                          "properties": {
                            "aiQualityScore": {
                              "description": "Generic AI-quality sub-score",
                              "type": "number"
                            },
                            "appliedBriefIds": {
                              "description": "Ids of briefs that contributed",
                              "items": {
                                "description": "Opaque identifier for a brief, derived from its scope.",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "briefComplianceScore": {
                              "description": "Brief-compliance sub-score (omitted when no brief applied)",
                              "type": "number"
                            },
                            "computedAt": {
                              "description": "ISO-8601 timestamp of when scoring ran",
                              "type": "string"
                            },
                            "details": {
                              "additionalProperties": false,
                              "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                              "properties": {
                                "aiQuality": {
                                  "additionalProperties": false,
                                  "description": "Always-on generic AI-quality dimension",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                },
                                "briefCompliance": {
                                  "additionalProperties": false,
                                  "description": "Brief-compliance dimension; omitted when no brief applied",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                }
                              },
                              "required": [
                                "aiQuality"
                              ],
                              "type": "object"
                            },
                            "error": {
                              "description": "Error message when status is 'error' (truncated)",
                              "type": "string"
                            },
                            "overallScore": {
                              "description": "0–100 composite score (present when status is 'scored')",
                              "type": "number"
                            },
                            "sensitivity": {
                              "description": "Sensitivity used for the verdict",
                              "enum": [
                                "high",
                                "low",
                                "medium"
                              ],
                              "type": "string"
                            },
                            "status": {
                              "description": "Whether scoring succeeded or errored",
                              "enum": [
                                "error",
                                "scored"
                              ],
                              "type": "string"
                            },
                            "verdict": {
                              "description": "pass / warn / fail (present when status is 'scored')",
                              "enum": [
                                "fail",
                                "pass",
                                "warn"
                              ],
                              "type": "string"
                            },
                            "version": {
                              "description": "Rubric/model version that produced this result",
                              "type": "string"
                            }
                          },
                          "required": [
                            "computedAt",
                            "status",
                            "version"
                          ],
                          "type": "object"
                        },
                        "source": {
                          "description": "source of the asset",
                          "enum": [
                            "3d23d",
                            "3d23d:texture",
                            "3d:texture",
                            "3d:texture:albedo",
                            "3d:texture:metallic",
                            "3d:texture:mtl",
                            "3d:texture:normal",
                            "3d:texture:roughness",
                            "audio2audio",
                            "audio2txt",
                            "audio2video",
                            "background-removal",
                            "canvas",
                            "canvas-drawing",
                            "canvas-export",
                            "detection",
                            "generative-fill",
                            "image-prompt-editing",
                            "img23d",
                            "img2img",
                            "img2splat",
                            "img2txt",
                            "img2video",
                            "inference-control-net",
                            "inference-control-net-img",
                            "inference-control-net-inpainting",
                            "inference-control-net-inpainting-ip-adapter",
                            "inference-control-net-ip-adapter",
                            "inference-control-net-reference",
                            "inference-control-net-texture",
                            "inference-img",
                            "inference-img-ip-adapter",
                            "inference-img-texture",
                            "inference-in-paint",
                            "inference-in-paint-ip-adapter",
                            "inference-reference",
                            "inference-reference-texture",
                            "inference-txt",
                            "inference-txt-ip-adapter",
                            "inference-txt-texture",
                            "patch",
                            "pixelization",
                            "reframe",
                            "restyle",
                            "segment",
                            "segmentation-image",
                            "segmentation-mask",
                            "skybox-3d",
                            "skybox-base-360",
                            "skybox-hdri",
                            "texture",
                            "texture:albedo",
                            "texture:ao",
                            "texture:edge",
                            "texture:height",
                            "texture:metallic",
                            "texture:normal",
                            "texture:smoothness",
                            "txt23d",
                            "txt2audio",
                            "txt2img",
                            "txt2txt",
                            "txt2video",
                            "unknown",
                            "uploaded",
                            "uploaded-3d",
                            "uploaded-audio",
                            "uploaded-avatar",
                            "uploaded-text",
                            "uploaded-video",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "upscale-video",
                            "vectorization",
                            "video23d",
                            "video2audio",
                            "video2img",
                            "video2txt",
                            "video2video",
                            "voice-clone"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The actual status",
                          "enum": [
                            "error",
                            "pending",
                            "success"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "url": {
                          "description": "Signed URL to get the asset content",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "collectionIds",
                        "createdAt",
                        "editCapabilities",
                        "id",
                        "kind",
                        "metadata",
                        "mimeType",
                        "ownerId",
                        "privacy",
                        "properties",
                        "source",
                        "status",
                        "tags",
                        "updatedAt",
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "asset"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "operationId": "PutAssetByAssetId",
        "description": "Update a canvas asset",
        "tags": [
          "Assets"
        ],
        "parameters": [
          {
            "name": "assetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "asset": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "automaticCaptioning": {
                          "description": "Automatic captioning of the asset",
                          "type": "string"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this asset belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                          "type": "string"
                        },
                        "description": {
                          "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                          "type": "string"
                        },
                        "editCapabilities": {
                          "description": "List of edit capabilities",
                          "items": {
                            "enum": [
                              "DETECTION",
                              "GENERATIVE_FILL",
                              "PIXELATE",
                              "PROMPT_EDITING",
                              "REFINE",
                              "REFRAME",
                              "REMOVE_BACKGROUND",
                              "SEGMENTATION",
                              "UPSCALE",
                              "UPSCALE_360",
                              "VECTORIZATION"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "embedding": {
                          "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                          "items": {
                            "type": "number"
                          },
                          "type": "array"
                        },
                        "firstFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "id": {
                          "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "isHidden": {
                          "description": "Whether the asset is hidden.",
                          "type": "boolean"
                        },
                        "kind": {
                          "description": "The kind of asset",
                          "enum": [
                            "3d",
                            "audio",
                            "document",
                            "image",
                            "image-hdr",
                            "json",
                            "text",
                            "video"
                          ],
                          "type": "string"
                        },
                        "lastFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the asset with some additional information",
                          "properties": {
                            "angular": {
                              "default": 0.5,
                              "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "aspectRatio": {
                              "description": "The optional aspect ratio given for the generation, only applicable for some models",
                              "type": "string"
                            },
                            "backgroundOpacity": {
                              "default": 0,
                              "maximum": 255,
                              "minimum": 0,
                              "type": "number"
                            },
                            "baseModelId": {
                              "description": "The baseModelId that maybe changed at inference time",
                              "type": "string"
                            },
                            "bbox": {
                              "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 4,
                              "minItems": 4,
                              "type": "array"
                            },
                            "betterQuality": {
                              "default": false,
                              "type": "boolean"
                            },
                            "cannyStructureImage": {
                              "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "clustering": {
                              "default": false,
                              "description": "Activate clustering.",
                              "type": "boolean"
                            },
                            "colorCorrection": {
                              "default": true,
                              "description": "Ensure upscaled tile have the same color histogram as original tile.",
                              "type": "boolean"
                            },
                            "colorMode": {
                              "type": "string"
                            },
                            "colorPrecision": {
                              "type": "number"
                            },
                            "concepts": {
                              "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "modelEpoch": {
                                    "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                    "type": "string"
                                  },
                                  "scale": {
                                    "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                    "maximum": 2,
                                    "minimum": -2,
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "modelId",
                                  "scale"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "contours": {
                              "items": {
                                "items": {
                                  "items": {
                                    "items": {
                                      "type": "number"
                                    },
                                    "type": "array"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "type": "array"
                            },
                            "controlEnd": {
                              "description": "End step for control.",
                              "type": "number"
                            },
                            "copiedAt": {
                              "description": "The date when the asset was copied to a project",
                              "type": "string"
                            },
                            "cornerThreshold": {
                              "type": "number"
                            },
                            "creativity": {
                              "default": 35,
                              "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "creativityDecay": {
                              "default": 80,
                              "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "defaultParameters": {
                              "default": false,
                              "description": "If true, use the default parameters",
                              "type": "boolean"
                            },
                            "depthFidelity": {
                              "default": 90,
                              "description": "The depth fidelity if a depth image provided",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "depthImage": {
                              "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "detailsLevel": {
                              "default": 0,
                              "description": "Amount of details to remove or add",
                              "maximum": 50,
                              "minimum": -50,
                              "type": "number"
                            },
                            "dilate": {
                              "default": 0,
                              "maximum": 30,
                              "minimum": 0,
                              "type": "number"
                            },
                            "factor": {
                              "default": 5,
                              "description": "Contrast factor for Grayscale detector",
                              "type": "number"
                            },
                            "fileName": {
                              "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                              "type": "string"
                            },
                            "filterSpeckle": {
                              "type": "number"
                            },
                            "fractality": {
                              "default": 40,
                              "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "geometryEnforcement": {
                              "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "guidance": {
                              "description": "The guidance used to generate this asset",
                              "type": "number"
                            },
                            "halfMode": {
                              "type": "boolean"
                            },
                            "hdr": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            },
                            "highThreshold": {
                              "default": 200,
                              "description": "High threshold for Canny detector",
                              "type": "number"
                            },
                            "horizontalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Horizontal expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "image": {
                              "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                              "type": "string"
                            },
                            "imageFidelity": {
                              "default": 50,
                              "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "imageType": {
                              "default": "seamfull",
                              "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                              "enum": [
                                "seamfull",
                                "skybox",
                                "texture"
                              ],
                              "type": "string"
                            },
                            "inferenceId": {
                              "description": "The id of the Inference describing how this image was generated",
                              "type": "string"
                            },
                            "inputFidelity": {
                              "default": "low",
                              "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                              "enum": [
                                "high",
                                "low"
                              ],
                              "type": "string"
                            },
                            "inputLocation": {
                              "default": "middle",
                              "description": "Location of the input image in the output.",
                              "enum": [
                                "bottom",
                                "left",
                                "middle",
                                "right",
                                "top"
                              ],
                              "type": "string"
                            },
                            "invert": {
                              "default": false,
                              "description": "To invert the relief",
                              "type": "boolean"
                            },
                            "keepsFileNames": {
                              "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                              "type": "boolean"
                            },
                            "keypointThreshold": {
                              "default": 0.3,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "kind": {
                              "enum": [
                                "3d",
                                "audio",
                                "document",
                                "image",
                                "image-hdr",
                                "json",
                                "text",
                                "video"
                              ],
                              "type": "string"
                            },
                            "layerDifference": {
                              "type": "number"
                            },
                            "lengthThreshold": {
                              "type": "number"
                            },
                            "lockExpiresAt": {
                              "description": "The ISO timestamp when the lock on the canvas will expire",
                              "type": "string"
                            },
                            "lowThreshold": {
                              "default": 100,
                              "description": "Low threshold for Canny detector",
                              "type": "number"
                            },
                            "mask": {
                              "description": "The mask used for the asset generation or editing",
                              "type": "string"
                            },
                            "maxIterations": {
                              "type": "number"
                            },
                            "maxThreshold": {
                              "default": 90,
                              "description": "Maximum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "minThreshold": {
                              "default": 10,
                              "description": "Minimum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "modality": {
                              "default": "canny",
                              "description": "Modality to detect",
                              "enum": [
                                "canny",
                                "depth",
                                "grayscale",
                                "lineart_anime",
                                "mlsd",
                                "normal",
                                "pose",
                                "scribble",
                                "segmentation",
                                "sketch"
                              ],
                              "type": "string"
                            },
                            "mode": {
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The modelId used to generate this asset",
                              "type": "string"
                            },
                            "modelType": {
                              "description": "The type of the generator used",
                              "enum": [
                                "custom",
                                "elevenlabs-voice",
                                "flux.1",
                                "flux.1-composition",
                                "flux.1-kontext-dev",
                                "flux.1-kontext-lora",
                                "flux.1-krea-dev",
                                "flux.1-krea-lora",
                                "flux.1-lora",
                                "flux.1-pro",
                                "flux.1.1-pro-ultra",
                                "flux.2-dev-edit-lora",
                                "flux.2-dev-lora",
                                "flux.2-klein-4b-edit-lora",
                                "flux.2-klein-4b-lora",
                                "flux.2-klein-9b-edit-lora",
                                "flux.2-klein-9b-lora",
                                "flux.2-klein-base-4b-edit-lora",
                                "flux.2-klein-base-4b-lora",
                                "flux.2-klein-base-9b-edit-lora",
                                "flux.2-klein-base-9b-lora",
                                "flux1.1-pro",
                                "gpt-image-1",
                                "qwen-image-2512-lora",
                                "qwen-image-edit-2509-lora",
                                "qwen-image-edit-2511-lora",
                                "qwen-image-edit-lora",
                                "qwen-image-lora",
                                "zimage-de-turbo-lora",
                                "zimage-lora",
                                "zimage-turbo-lora"
                              ],
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "nbMasks": {
                              "type": "number"
                            },
                            "negativePrompt": {
                              "description": "The negative prompt used to generate this asset",
                              "type": "string"
                            },
                            "negativePromptStrength": {
                              "default": 0,
                              "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                              "maximum": 10,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numInferenceSteps": {
                              "default": 10,
                              "description": "The number of denoising steps for each image generation.",
                              "maximum": 50,
                              "minimum": 5,
                              "type": "number"
                            },
                            "numOutputs": {
                              "default": 4,
                              "description": "The number of outputs to generate.",
                              "maximum": 8,
                              "minimum": 1,
                              "type": "number"
                            },
                            "originalAssetId": {
                              "type": "string"
                            },
                            "outputIndex": {
                              "type": "number"
                            },
                            "overlapPercentage": {
                              "default": 0.08,
                              "description": "Overlap percentage for the output image.",
                              "maximum": 0.5,
                              "minimum": 0,
                              "type": "number"
                            },
                            "overrideEmbeddings": {
                              "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                              "type": "boolean"
                            },
                            "parentId": {
                              "type": "string"
                            },
                            "parentJobId": {
                              "type": "string"
                            },
                            "pathPrecision": {
                              "type": "number"
                            },
                            "points": {
                              "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                              "items": {
                                "items": {
                                  "type": "number"
                                },
                                "type": "array"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "polished": {
                              "default": 0.5,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "preset": {
                              "type": "string"
                            },
                            "progressPercent": {
                              "type": "number"
                            },
                            "prompt": {
                              "description": "The prompt that guided the asset generation or editing",
                              "type": "string"
                            },
                            "promptFidelity": {
                              "default": 50,
                              "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "raised": {
                              "default": 0.5,
                              "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "referenceImages": {
                              "description": "The reference images used for the asset generation or editing",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "refinementSteps": {
                              "default": 0,
                              "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                              "maximum": 4,
                              "minimum": 0,
                              "type": "number"
                            },
                            "removeBackground": {
                              "default": true,
                              "description": "Remove background for Grayscale detector",
                              "type": "boolean"
                            },
                            "resizeOption": {
                              "default": 1,
                              "description": "Size proportion of the input image in the output.",
                              "maximum": 1,
                              "minimum": 0.1,
                              "type": "number"
                            },
                            "resultContours": {
                              "default": false,
                              "description": "Boolean to output the contours.",
                              "type": "boolean"
                            },
                            "resultImage": {
                              "default": false,
                              "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                              "type": "boolean"
                            },
                            "resultMask": {
                              "default": true,
                              "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                              "type": "boolean"
                            },
                            "rootParentId": {
                              "type": "string"
                            },
                            "saveFlipbook": {
                              "default": true,
                              "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                              "type": "boolean"
                            },
                            "scalingFactor": {
                              "default": 2,
                              "description": "Scaling factor (when `targetWidth` not specified)",
                              "maximum": 16,
                              "minimum": 1,
                              "type": "number"
                            },
                            "scheduler": {
                              "description": "The scheduler used to generate this asset",
                              "type": "string"
                            },
                            "seed": {
                              "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                              "type": "string"
                            },
                            "sharpen": {
                              "default": false,
                              "description": "Sharpen tiles.",
                              "type": "boolean"
                            },
                            "shiny": {
                              "default": 0.5,
                              "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "sketch": {
                              "default": false,
                              "description": "Activate sketch detection instead of canny.",
                              "type": "boolean"
                            },
                            "sourceProjectId": {
                              "type": "string"
                            },
                            "spliceThreshold": {
                              "type": "number"
                            },
                            "strength": {
                              "default": 1,
                              "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                              "type": "number"
                            },
                            "structureFidelity": {
                              "default": 35,
                              "description": "Strength for the input image structure preservation",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "structureImage": {
                              "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "style": {
                              "enum": [
                                "3d-cartoon",
                                "3d-rendered",
                                "anime",
                                "cartoon",
                                "cinematic",
                                "claymation",
                                "cloud-skydome",
                                "comic",
                                "cyberpunk",
                                "enchanted",
                                "fantasy",
                                "ink",
                                "manga",
                                "manga-color",
                                "minimalist",
                                "neon-tron",
                                "oil-painting",
                                "pastel",
                                "photo",
                                "photography",
                                "psychedelic",
                                "retro-fantasy",
                                "scifi-concept-art",
                                "space",
                                "standard",
                                "whimsical"
                              ],
                              "type": "string"
                            },
                            "styleFidelity": {
                              "default": 20,
                              "description": "The higher the value the more it will look like the style image(s)",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "styleImages": {
                              "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                              "items": {
                                "type": "string"
                              },
                              "maxItems": 10,
                              "type": "array"
                            },
                            "styleImagesFidelity": {
                              "default": 17,
                              "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetHeight": {
                              "default": 1024,
                              "description": "The target height of the output image.",
                              "maximum": 2048,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetWidth": {
                              "description": "Target width for the upscaled image, take priority over scaling factor",
                              "maximum": 16000,
                              "minimum": 1024,
                              "type": "number"
                            },
                            "text": {
                              "description": "A textual description / keywords describing the object of interest.",
                              "maxLength": 100,
                              "type": "string"
                            },
                            "texture": {
                              "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "thumbnail": {
                              "additionalProperties": false,
                              "description": "The thumbnail of the canvas",
                              "properties": {
                                "assetId": {
                                  "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                  "type": "string"
                                },
                                "url": {
                                  "description": "The url of the image used as a thumbnail for the canvas",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "assetId",
                                "url"
                              ],
                              "type": "object"
                            },
                            "tileStyle": {
                              "default": false,
                              "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                              "type": "boolean"
                            },
                            "trainingImage": {
                              "type": "boolean"
                            },
                            "type": {
                              "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                              "enum": [
                                "3d-texture",
                                "3d-texture-albedo",
                                "3d-texture-metallic",
                                "3d-texture-mtl",
                                "3d-texture-normal",
                                "3d-texture-roughness",
                                "3d23d",
                                "3d23d-texture",
                                "audio2audio",
                                "audio2txt",
                                "audio2video",
                                "background-removal",
                                "canvas",
                                "canvas-drawing",
                                "canvas-export",
                                "detection",
                                "generative-fill",
                                "image-prompt-editing",
                                "img23d",
                                "img2img",
                                "img2splat",
                                "img2txt",
                                "img2video",
                                "inference-controlnet",
                                "inference-controlnet-img2img",
                                "inference-controlnet-inpaint",
                                "inference-controlnet-inpaint-ip-adapter",
                                "inference-controlnet-ip-adapter",
                                "inference-controlnet-reference",
                                "inference-controlnet-texture",
                                "inference-img2img",
                                "inference-img2img-ip-adapter",
                                "inference-img2img-texture",
                                "inference-inpaint",
                                "inference-inpaint-ip-adapter",
                                "inference-reference",
                                "inference-reference-texture",
                                "inference-txt2img",
                                "inference-txt2img-ip-adapter",
                                "inference-txt2img-texture",
                                "patch",
                                "pixelization",
                                "reframe",
                                "restyle",
                                "segment",
                                "segmentation-image",
                                "segmentation-mask",
                                "skybox-3d",
                                "skybox-base-360",
                                "skybox-hdri",
                                "texture",
                                "texture-albedo",
                                "texture-ao",
                                "texture-edge",
                                "texture-height",
                                "texture-metallic",
                                "texture-normal",
                                "texture-smoothness",
                                "txt23d",
                                "txt2audio",
                                "txt2img",
                                "txt2txt",
                                "txt2video",
                                "unknown",
                                "uploaded",
                                "uploaded-3d",
                                "uploaded-audio",
                                "uploaded-avatar",
                                "uploaded-text",
                                "uploaded-video",
                                "upscale",
                                "upscale-skybox",
                                "upscale-texture",
                                "upscale-video",
                                "vectorization",
                                "video23d",
                                "video2audio",
                                "video2img",
                                "video2txt",
                                "video2video",
                                "voice-clone"
                              ],
                              "type": "string"
                            },
                            "verticalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Vertical expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "width": {
                              "default": 1536,
                              "description": "The width of the rendered image.",
                              "maximum": 2048,
                              "minimum": 1024,
                              "type": "number"
                            }
                          },
                          "required": [
                            "kind",
                            "type"
                          ],
                          "type": "object"
                        },
                        "mimeType": {
                          "description": "The mime type of the asset (example: \"image/png\")",
                          "type": "string"
                        },
                        "nsfw": {
                          "description": "The NSFW labels",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "originalFileUrl": {
                          "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                          "type": "string"
                        },
                        "originalMimeType": {
                          "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                          "enum": [
                            "application/gzip",
                            "application/json",
                            "application/octet-stream",
                            "application/pdf",
                            "application/safetensors",
                            "application/vnd.autodesk.fbx",
                            "application/x-authorware-bin",
                            "application/x-zip-compressed",
                            "application/x.autodesk.fbx",
                            "application/zip",
                            "audio/flac",
                            "audio/m4a",
                            "audio/mpeg",
                            "audio/ogg",
                            "audio/wav",
                            "image/aces",
                            "image/avif",
                            "image/bmp",
                            "image/gif",
                            "image/heic",
                            "image/jpeg",
                            "image/png",
                            "image/svg+xml",
                            "image/tiff",
                            "image/vnd.radiance",
                            "image/webp",
                            "image/x-exr",
                            "model/glb",
                            "model/gltf+json",
                            "model/gltf-binary",
                            "model/ksplat",
                            "model/mtl",
                            "model/obj",
                            "model/ply",
                            "model/sog",
                            "model/splat",
                            "model/spz",
                            "model/stl",
                            "model/vnd.collada+xml",
                            "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                            "model/vnd.usdz+zip",
                            "model/x-3d-vox",
                            "model/x-blender",
                            "model/x-fbx",
                            "model/x-maya-ascii",
                            "model/x-maya-binary",
                            "model/x-vsplat",
                            "model/x3d+xml",
                            "text/plain",
                            "video/mp4",
                            "video/quicktime",
                            "video/webm"
                          ],
                          "type": "string"
                        },
                        "outputIndex": {
                          "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                          "type": "number"
                        },
                        "ownerId": {
                          "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                          "type": "string"
                        },
                        "preview": {
                          "additionalProperties": false,
                          "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "description": "The privacy of the asset",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "properties": {
                          "additionalProperties": false,
                          "description": "The properties of the asset, content may depend on the kind of asset returned",
                          "properties": {
                            "animationFrameCount": {
                              "description": "Number of animation frames if animations exist",
                              "type": "number"
                            },
                            "bitrate": {
                              "description": "Bitrate of the media in bits per second",
                              "type": "number"
                            },
                            "boneCount": {
                              "description": "Number of bones if skeleton exists",
                              "type": "number"
                            },
                            "cameraMode": {
                              "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "enum": [
                                "aerial",
                                "interior",
                                "turntable"
                              ],
                              "type": "string"
                            },
                            "cameraTrajectory": {
                              "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "items": {
                                "additionalProperties": false,
                                "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                "properties": {
                                  "fov": {
                                    "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                    "type": "number"
                                  },
                                  "position": {
                                    "description": "Camera eye position in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "target": {
                                    "description": "Look-at point in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "position",
                                  "target"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "channels": {
                              "description": "Number of channels of the audio",
                              "type": "number"
                            },
                            "charCount": {
                              "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                              "type": "number"
                            },
                            "classification": {
                              "description": "Classification of the audio",
                              "enum": [
                                "effect",
                                "interview",
                                "music",
                                "other",
                                "sound",
                                "speech",
                                "text",
                                "unknown"
                              ],
                              "type": "string"
                            },
                            "codecName": {
                              "description": "Codec name of the media",
                              "type": "string"
                            },
                            "description": {
                              "description": "Description of the audio",
                              "type": "string"
                            },
                            "dimensions": {
                              "description": "Bounding box dimensions [width, height, depth]",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "duration": {
                              "description": "Duration of the media in seconds",
                              "type": "number"
                            },
                            "faceCount": {
                              "description": "Number of faces/triangles in the mesh",
                              "type": "number"
                            },
                            "format": {
                              "description": "Format of the mesh file (e.g. 'glb', etc.)",
                              "type": "string"
                            },
                            "frameRate": {
                              "description": "Frame rate of the video in frames per second",
                              "type": "number"
                            },
                            "hasAnimations": {
                              "description": "Whether the mesh has animations",
                              "type": "boolean"
                            },
                            "hasFullPreview": {
                              "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                              "type": "boolean"
                            },
                            "hasNormals": {
                              "description": "Whether the mesh has normal vectors",
                              "type": "boolean"
                            },
                            "hasSkeleton": {
                              "description": "Whether the mesh has bones/skeleton",
                              "type": "boolean"
                            },
                            "hasUVs": {
                              "description": "Whether the mesh has UV coordinates",
                              "type": "boolean"
                            },
                            "height": {
                              "type": "number"
                            },
                            "nbFrames": {
                              "description": "Number of frames in the video",
                              "type": "number"
                            },
                            "preview": {
                              "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                              "type": "string"
                            },
                            "sampleRate": {
                              "description": "Sample rate of the media in Hz",
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "transcription": {
                              "additionalProperties": false,
                              "description": "Transcription of the audio",
                              "properties": {
                                "text": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text"
                              ],
                              "type": "object"
                            },
                            "vertexCount": {
                              "description": "Number of vertices in the mesh",
                              "type": "number"
                            },
                            "width": {
                              "type": "number"
                            },
                            "wordCount": {
                              "description": "Number of whitespace-separated words in the text",
                              "type": "number"
                            }
                          },
                          "required": [
                            "size"
                          ],
                          "type": "object"
                        },
                        "qualityGate": {
                          "additionalProperties": false,
                          "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                          "properties": {
                            "aiQualityScore": {
                              "description": "Generic AI-quality sub-score",
                              "type": "number"
                            },
                            "appliedBriefIds": {
                              "description": "Ids of briefs that contributed",
                              "items": {
                                "description": "Opaque identifier for a brief, derived from its scope.",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "briefComplianceScore": {
                              "description": "Brief-compliance sub-score (omitted when no brief applied)",
                              "type": "number"
                            },
                            "computedAt": {
                              "description": "ISO-8601 timestamp of when scoring ran",
                              "type": "string"
                            },
                            "details": {
                              "additionalProperties": false,
                              "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                              "properties": {
                                "aiQuality": {
                                  "additionalProperties": false,
                                  "description": "Always-on generic AI-quality dimension",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                },
                                "briefCompliance": {
                                  "additionalProperties": false,
                                  "description": "Brief-compliance dimension; omitted when no brief applied",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                }
                              },
                              "required": [
                                "aiQuality"
                              ],
                              "type": "object"
                            },
                            "error": {
                              "description": "Error message when status is 'error' (truncated)",
                              "type": "string"
                            },
                            "overallScore": {
                              "description": "0–100 composite score (present when status is 'scored')",
                              "type": "number"
                            },
                            "sensitivity": {
                              "description": "Sensitivity used for the verdict",
                              "enum": [
                                "high",
                                "low",
                                "medium"
                              ],
                              "type": "string"
                            },
                            "status": {
                              "description": "Whether scoring succeeded or errored",
                              "enum": [
                                "error",
                                "scored"
                              ],
                              "type": "string"
                            },
                            "verdict": {
                              "description": "pass / warn / fail (present when status is 'scored')",
                              "enum": [
                                "fail",
                                "pass",
                                "warn"
                              ],
                              "type": "string"
                            },
                            "version": {
                              "description": "Rubric/model version that produced this result",
                              "type": "string"
                            }
                          },
                          "required": [
                            "computedAt",
                            "status",
                            "version"
                          ],
                          "type": "object"
                        },
                        "source": {
                          "description": "source of the asset",
                          "enum": [
                            "3d23d",
                            "3d23d:texture",
                            "3d:texture",
                            "3d:texture:albedo",
                            "3d:texture:metallic",
                            "3d:texture:mtl",
                            "3d:texture:normal",
                            "3d:texture:roughness",
                            "audio2audio",
                            "audio2txt",
                            "audio2video",
                            "background-removal",
                            "canvas",
                            "canvas-drawing",
                            "canvas-export",
                            "detection",
                            "generative-fill",
                            "image-prompt-editing",
                            "img23d",
                            "img2img",
                            "img2splat",
                            "img2txt",
                            "img2video",
                            "inference-control-net",
                            "inference-control-net-img",
                            "inference-control-net-inpainting",
                            "inference-control-net-inpainting-ip-adapter",
                            "inference-control-net-ip-adapter",
                            "inference-control-net-reference",
                            "inference-control-net-texture",
                            "inference-img",
                            "inference-img-ip-adapter",
                            "inference-img-texture",
                            "inference-in-paint",
                            "inference-in-paint-ip-adapter",
                            "inference-reference",
                            "inference-reference-texture",
                            "inference-txt",
                            "inference-txt-ip-adapter",
                            "inference-txt-texture",
                            "patch",
                            "pixelization",
                            "reframe",
                            "restyle",
                            "segment",
                            "segmentation-image",
                            "segmentation-mask",
                            "skybox-3d",
                            "skybox-base-360",
                            "skybox-hdri",
                            "texture",
                            "texture:albedo",
                            "texture:ao",
                            "texture:edge",
                            "texture:height",
                            "texture:metallic",
                            "texture:normal",
                            "texture:smoothness",
                            "txt23d",
                            "txt2audio",
                            "txt2img",
                            "txt2txt",
                            "txt2video",
                            "unknown",
                            "uploaded",
                            "uploaded-3d",
                            "uploaded-audio",
                            "uploaded-avatar",
                            "uploaded-text",
                            "uploaded-video",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "upscale-video",
                            "vectorization",
                            "video23d",
                            "video2audio",
                            "video2img",
                            "video2txt",
                            "video2video",
                            "voice-clone"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The actual status",
                          "enum": [
                            "error",
                            "pending",
                            "success"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "url": {
                          "description": "Signed URL to get the asset content",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "collectionIds",
                        "createdAt",
                        "editCapabilities",
                        "id",
                        "kind",
                        "metadata",
                        "mimeType",
                        "ownerId",
                        "privacy",
                        "properties",
                        "source",
                        "status",
                        "tags",
                        "updatedAt",
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "asset"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "canvas": {
                    "type": "string",
                    "description": "The new value for the canvas as a stringified JSON."
                  },
                  "thumbnail": {
                    "type": "string",
                    "description": "The new thumbnail for the canvas in base64 format string."
                  },
                  "description": {
                    "type": "string",
                    "description": "The new description of the asset."
                  },
                  "name": {
                    "type": "string",
                    "description": "The new name for the canvas."
                  },
                  "lockId": {
                    "type": "string",
                    "description": "The value of the lock to use when updating a locked canvas."
                  },
                  "lockExpiresAt": {
                    "type": "string",
                    "description": "The ISO timestamp when the lock on the canvas will expire."
                  },
                  "disableSnapshot": {
                    "type": "boolean",
                    "description": "If true, no snapshot will be created for this update."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/assets/{assetId}/tags": {
      "put": {
        "operationId": "PutAssetsTagsByAssetId",
        "description": "Add/delete tags on a specific asset",
        "tags": [
          "Assets"
        ],
        "parameters": [
          {
            "name": "assetId",
            "in": "path",
            "required": true,
            "description": "The ID of the asset to update its tags",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "added": {
                      "description": "The list of added tags",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "deleted": {
                      "description": "The list of deleted tags",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "added",
                    "deleted"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "add": {
                    "description": "The list of tags to add",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "delete": {
                    "description": "The list of tags to delete",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "strict": {
                    "default": true,
                    "description": "If true, the function will throw an error if:\n- one of the tags to add already exists\n- one of the tags to delete is not found\nIf false, the endpoint will behave as if it was idempotent",
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/assets/{assetId}/copy": {
      "post": {
        "operationId": "CopyAssetByAssetId",
        "description": "Duplicate an asset",
        "tags": [
          "Assets"
        ],
        "parameters": [
          {
            "name": "assetId",
            "in": "path",
            "required": true,
            "description": "The ID of the asset to duplicate",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "asset": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "automaticCaptioning": {
                          "description": "Automatic captioning of the asset",
                          "type": "string"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this asset belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                          "type": "string"
                        },
                        "description": {
                          "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                          "type": "string"
                        },
                        "editCapabilities": {
                          "description": "List of edit capabilities",
                          "items": {
                            "enum": [
                              "DETECTION",
                              "GENERATIVE_FILL",
                              "PIXELATE",
                              "PROMPT_EDITING",
                              "REFINE",
                              "REFRAME",
                              "REMOVE_BACKGROUND",
                              "SEGMENTATION",
                              "UPSCALE",
                              "UPSCALE_360",
                              "VECTORIZATION"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "embedding": {
                          "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                          "items": {
                            "type": "number"
                          },
                          "type": "array"
                        },
                        "firstFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "id": {
                          "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "isHidden": {
                          "description": "Whether the asset is hidden.",
                          "type": "boolean"
                        },
                        "kind": {
                          "description": "The kind of asset",
                          "enum": [
                            "3d",
                            "audio",
                            "document",
                            "image",
                            "image-hdr",
                            "json",
                            "text",
                            "video"
                          ],
                          "type": "string"
                        },
                        "lastFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the asset with some additional information",
                          "properties": {
                            "angular": {
                              "default": 0.5,
                              "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "aspectRatio": {
                              "description": "The optional aspect ratio given for the generation, only applicable for some models",
                              "type": "string"
                            },
                            "backgroundOpacity": {
                              "default": 0,
                              "maximum": 255,
                              "minimum": 0,
                              "type": "number"
                            },
                            "baseModelId": {
                              "description": "The baseModelId that maybe changed at inference time",
                              "type": "string"
                            },
                            "bbox": {
                              "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 4,
                              "minItems": 4,
                              "type": "array"
                            },
                            "betterQuality": {
                              "default": false,
                              "type": "boolean"
                            },
                            "cannyStructureImage": {
                              "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "clustering": {
                              "default": false,
                              "description": "Activate clustering.",
                              "type": "boolean"
                            },
                            "colorCorrection": {
                              "default": true,
                              "description": "Ensure upscaled tile have the same color histogram as original tile.",
                              "type": "boolean"
                            },
                            "colorMode": {
                              "type": "string"
                            },
                            "colorPrecision": {
                              "type": "number"
                            },
                            "concepts": {
                              "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "modelEpoch": {
                                    "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                    "type": "string"
                                  },
                                  "scale": {
                                    "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                    "maximum": 2,
                                    "minimum": -2,
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "modelId",
                                  "scale"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "contours": {
                              "items": {
                                "items": {
                                  "items": {
                                    "items": {
                                      "type": "number"
                                    },
                                    "type": "array"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "type": "array"
                            },
                            "controlEnd": {
                              "description": "End step for control.",
                              "type": "number"
                            },
                            "copiedAt": {
                              "description": "The date when the asset was copied to a project",
                              "type": "string"
                            },
                            "cornerThreshold": {
                              "type": "number"
                            },
                            "creativity": {
                              "default": 35,
                              "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "creativityDecay": {
                              "default": 80,
                              "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "defaultParameters": {
                              "default": false,
                              "description": "If true, use the default parameters",
                              "type": "boolean"
                            },
                            "depthFidelity": {
                              "default": 90,
                              "description": "The depth fidelity if a depth image provided",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "depthImage": {
                              "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "detailsLevel": {
                              "default": 0,
                              "description": "Amount of details to remove or add",
                              "maximum": 50,
                              "minimum": -50,
                              "type": "number"
                            },
                            "dilate": {
                              "default": 0,
                              "maximum": 30,
                              "minimum": 0,
                              "type": "number"
                            },
                            "factor": {
                              "default": 5,
                              "description": "Contrast factor for Grayscale detector",
                              "type": "number"
                            },
                            "fileName": {
                              "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                              "type": "string"
                            },
                            "filterSpeckle": {
                              "type": "number"
                            },
                            "fractality": {
                              "default": 40,
                              "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "geometryEnforcement": {
                              "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "guidance": {
                              "description": "The guidance used to generate this asset",
                              "type": "number"
                            },
                            "halfMode": {
                              "type": "boolean"
                            },
                            "hdr": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            },
                            "highThreshold": {
                              "default": 200,
                              "description": "High threshold for Canny detector",
                              "type": "number"
                            },
                            "horizontalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Horizontal expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "image": {
                              "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                              "type": "string"
                            },
                            "imageFidelity": {
                              "default": 50,
                              "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "imageType": {
                              "default": "seamfull",
                              "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                              "enum": [
                                "seamfull",
                                "skybox",
                                "texture"
                              ],
                              "type": "string"
                            },
                            "inferenceId": {
                              "description": "The id of the Inference describing how this image was generated",
                              "type": "string"
                            },
                            "inputFidelity": {
                              "default": "low",
                              "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                              "enum": [
                                "high",
                                "low"
                              ],
                              "type": "string"
                            },
                            "inputLocation": {
                              "default": "middle",
                              "description": "Location of the input image in the output.",
                              "enum": [
                                "bottom",
                                "left",
                                "middle",
                                "right",
                                "top"
                              ],
                              "type": "string"
                            },
                            "invert": {
                              "default": false,
                              "description": "To invert the relief",
                              "type": "boolean"
                            },
                            "keepsFileNames": {
                              "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                              "type": "boolean"
                            },
                            "keypointThreshold": {
                              "default": 0.3,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "kind": {
                              "enum": [
                                "3d",
                                "audio",
                                "document",
                                "image",
                                "image-hdr",
                                "json",
                                "text",
                                "video"
                              ],
                              "type": "string"
                            },
                            "layerDifference": {
                              "type": "number"
                            },
                            "lengthThreshold": {
                              "type": "number"
                            },
                            "lockExpiresAt": {
                              "description": "The ISO timestamp when the lock on the canvas will expire",
                              "type": "string"
                            },
                            "lowThreshold": {
                              "default": 100,
                              "description": "Low threshold for Canny detector",
                              "type": "number"
                            },
                            "mask": {
                              "description": "The mask used for the asset generation or editing",
                              "type": "string"
                            },
                            "maxIterations": {
                              "type": "number"
                            },
                            "maxThreshold": {
                              "default": 90,
                              "description": "Maximum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "minThreshold": {
                              "default": 10,
                              "description": "Minimum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "modality": {
                              "default": "canny",
                              "description": "Modality to detect",
                              "enum": [
                                "canny",
                                "depth",
                                "grayscale",
                                "lineart_anime",
                                "mlsd",
                                "normal",
                                "pose",
                                "scribble",
                                "segmentation",
                                "sketch"
                              ],
                              "type": "string"
                            },
                            "mode": {
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The modelId used to generate this asset",
                              "type": "string"
                            },
                            "modelType": {
                              "description": "The type of the generator used",
                              "enum": [
                                "custom",
                                "elevenlabs-voice",
                                "flux.1",
                                "flux.1-composition",
                                "flux.1-kontext-dev",
                                "flux.1-kontext-lora",
                                "flux.1-krea-dev",
                                "flux.1-krea-lora",
                                "flux.1-lora",
                                "flux.1-pro",
                                "flux.1.1-pro-ultra",
                                "flux.2-dev-edit-lora",
                                "flux.2-dev-lora",
                                "flux.2-klein-4b-edit-lora",
                                "flux.2-klein-4b-lora",
                                "flux.2-klein-9b-edit-lora",
                                "flux.2-klein-9b-lora",
                                "flux.2-klein-base-4b-edit-lora",
                                "flux.2-klein-base-4b-lora",
                                "flux.2-klein-base-9b-edit-lora",
                                "flux.2-klein-base-9b-lora",
                                "flux1.1-pro",
                                "gpt-image-1",
                                "qwen-image-2512-lora",
                                "qwen-image-edit-2509-lora",
                                "qwen-image-edit-2511-lora",
                                "qwen-image-edit-lora",
                                "qwen-image-lora",
                                "zimage-de-turbo-lora",
                                "zimage-lora",
                                "zimage-turbo-lora"
                              ],
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "nbMasks": {
                              "type": "number"
                            },
                            "negativePrompt": {
                              "description": "The negative prompt used to generate this asset",
                              "type": "string"
                            },
                            "negativePromptStrength": {
                              "default": 0,
                              "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                              "maximum": 10,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numInferenceSteps": {
                              "default": 10,
                              "description": "The number of denoising steps for each image generation.",
                              "maximum": 50,
                              "minimum": 5,
                              "type": "number"
                            },
                            "numOutputs": {
                              "default": 4,
                              "description": "The number of outputs to generate.",
                              "maximum": 8,
                              "minimum": 1,
                              "type": "number"
                            },
                            "originalAssetId": {
                              "type": "string"
                            },
                            "outputIndex": {
                              "type": "number"
                            },
                            "overlapPercentage": {
                              "default": 0.08,
                              "description": "Overlap percentage for the output image.",
                              "maximum": 0.5,
                              "minimum": 0,
                              "type": "number"
                            },
                            "overrideEmbeddings": {
                              "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                              "type": "boolean"
                            },
                            "parentId": {
                              "type": "string"
                            },
                            "parentJobId": {
                              "type": "string"
                            },
                            "pathPrecision": {
                              "type": "number"
                            },
                            "points": {
                              "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                              "items": {
                                "items": {
                                  "type": "number"
                                },
                                "type": "array"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "polished": {
                              "default": 0.5,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "preset": {
                              "type": "string"
                            },
                            "progressPercent": {
                              "type": "number"
                            },
                            "prompt": {
                              "description": "The prompt that guided the asset generation or editing",
                              "type": "string"
                            },
                            "promptFidelity": {
                              "default": 50,
                              "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "raised": {
                              "default": 0.5,
                              "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "referenceImages": {
                              "description": "The reference images used for the asset generation or editing",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "refinementSteps": {
                              "default": 0,
                              "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                              "maximum": 4,
                              "minimum": 0,
                              "type": "number"
                            },
                            "removeBackground": {
                              "default": true,
                              "description": "Remove background for Grayscale detector",
                              "type": "boolean"
                            },
                            "resizeOption": {
                              "default": 1,
                              "description": "Size proportion of the input image in the output.",
                              "maximum": 1,
                              "minimum": 0.1,
                              "type": "number"
                            },
                            "resultContours": {
                              "default": false,
                              "description": "Boolean to output the contours.",
                              "type": "boolean"
                            },
                            "resultImage": {
                              "default": false,
                              "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                              "type": "boolean"
                            },
                            "resultMask": {
                              "default": true,
                              "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                              "type": "boolean"
                            },
                            "rootParentId": {
                              "type": "string"
                            },
                            "saveFlipbook": {
                              "default": true,
                              "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                              "type": "boolean"
                            },
                            "scalingFactor": {
                              "default": 2,
                              "description": "Scaling factor (when `targetWidth` not specified)",
                              "maximum": 16,
                              "minimum": 1,
                              "type": "number"
                            },
                            "scheduler": {
                              "description": "The scheduler used to generate this asset",
                              "type": "string"
                            },
                            "seed": {
                              "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                              "type": "string"
                            },
                            "sharpen": {
                              "default": false,
                              "description": "Sharpen tiles.",
                              "type": "boolean"
                            },
                            "shiny": {
                              "default": 0.5,
                              "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "sketch": {
                              "default": false,
                              "description": "Activate sketch detection instead of canny.",
                              "type": "boolean"
                            },
                            "sourceProjectId": {
                              "type": "string"
                            },
                            "spliceThreshold": {
                              "type": "number"
                            },
                            "strength": {
                              "default": 1,
                              "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                              "type": "number"
                            },
                            "structureFidelity": {
                              "default": 35,
                              "description": "Strength for the input image structure preservation",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "structureImage": {
                              "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "style": {
                              "enum": [
                                "3d-cartoon",
                                "3d-rendered",
                                "anime",
                                "cartoon",
                                "cinematic",
                                "claymation",
                                "cloud-skydome",
                                "comic",
                                "cyberpunk",
                                "enchanted",
                                "fantasy",
                                "ink",
                                "manga",
                                "manga-color",
                                "minimalist",
                                "neon-tron",
                                "oil-painting",
                                "pastel",
                                "photo",
                                "photography",
                                "psychedelic",
                                "retro-fantasy",
                                "scifi-concept-art",
                                "space",
                                "standard",
                                "whimsical"
                              ],
                              "type": "string"
                            },
                            "styleFidelity": {
                              "default": 20,
                              "description": "The higher the value the more it will look like the style image(s)",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "styleImages": {
                              "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                              "items": {
                                "type": "string"
                              },
                              "maxItems": 10,
                              "type": "array"
                            },
                            "styleImagesFidelity": {
                              "default": 17,
                              "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetHeight": {
                              "default": 1024,
                              "description": "The target height of the output image.",
                              "maximum": 2048,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetWidth": {
                              "description": "Target width for the upscaled image, take priority over scaling factor",
                              "maximum": 16000,
                              "minimum": 1024,
                              "type": "number"
                            },
                            "text": {
                              "description": "A textual description / keywords describing the object of interest.",
                              "maxLength": 100,
                              "type": "string"
                            },
                            "texture": {
                              "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "thumbnail": {
                              "additionalProperties": false,
                              "description": "The thumbnail of the canvas",
                              "properties": {
                                "assetId": {
                                  "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                  "type": "string"
                                },
                                "url": {
                                  "description": "The url of the image used as a thumbnail for the canvas",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "assetId",
                                "url"
                              ],
                              "type": "object"
                            },
                            "tileStyle": {
                              "default": false,
                              "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                              "type": "boolean"
                            },
                            "trainingImage": {
                              "type": "boolean"
                            },
                            "type": {
                              "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                              "enum": [
                                "3d-texture",
                                "3d-texture-albedo",
                                "3d-texture-metallic",
                                "3d-texture-mtl",
                                "3d-texture-normal",
                                "3d-texture-roughness",
                                "3d23d",
                                "3d23d-texture",
                                "audio2audio",
                                "audio2txt",
                                "audio2video",
                                "background-removal",
                                "canvas",
                                "canvas-drawing",
                                "canvas-export",
                                "detection",
                                "generative-fill",
                                "image-prompt-editing",
                                "img23d",
                                "img2img",
                                "img2splat",
                                "img2txt",
                                "img2video",
                                "inference-controlnet",
                                "inference-controlnet-img2img",
                                "inference-controlnet-inpaint",
                                "inference-controlnet-inpaint-ip-adapter",
                                "inference-controlnet-ip-adapter",
                                "inference-controlnet-reference",
                                "inference-controlnet-texture",
                                "inference-img2img",
                                "inference-img2img-ip-adapter",
                                "inference-img2img-texture",
                                "inference-inpaint",
                                "inference-inpaint-ip-adapter",
                                "inference-reference",
                                "inference-reference-texture",
                                "inference-txt2img",
                                "inference-txt2img-ip-adapter",
                                "inference-txt2img-texture",
                                "patch",
                                "pixelization",
                                "reframe",
                                "restyle",
                                "segment",
                                "segmentation-image",
                                "segmentation-mask",
                                "skybox-3d",
                                "skybox-base-360",
                                "skybox-hdri",
                                "texture",
                                "texture-albedo",
                                "texture-ao",
                                "texture-edge",
                                "texture-height",
                                "texture-metallic",
                                "texture-normal",
                                "texture-smoothness",
                                "txt23d",
                                "txt2audio",
                                "txt2img",
                                "txt2txt",
                                "txt2video",
                                "unknown",
                                "uploaded",
                                "uploaded-3d",
                                "uploaded-audio",
                                "uploaded-avatar",
                                "uploaded-text",
                                "uploaded-video",
                                "upscale",
                                "upscale-skybox",
                                "upscale-texture",
                                "upscale-video",
                                "vectorization",
                                "video23d",
                                "video2audio",
                                "video2img",
                                "video2txt",
                                "video2video",
                                "voice-clone"
                              ],
                              "type": "string"
                            },
                            "verticalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Vertical expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "width": {
                              "default": 1536,
                              "description": "The width of the rendered image.",
                              "maximum": 2048,
                              "minimum": 1024,
                              "type": "number"
                            }
                          },
                          "required": [
                            "kind",
                            "type"
                          ],
                          "type": "object"
                        },
                        "mimeType": {
                          "description": "The mime type of the asset (example: \"image/png\")",
                          "type": "string"
                        },
                        "nsfw": {
                          "description": "The NSFW labels",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "originalFileUrl": {
                          "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                          "type": "string"
                        },
                        "originalMimeType": {
                          "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                          "enum": [
                            "application/gzip",
                            "application/json",
                            "application/octet-stream",
                            "application/pdf",
                            "application/safetensors",
                            "application/vnd.autodesk.fbx",
                            "application/x-authorware-bin",
                            "application/x-zip-compressed",
                            "application/x.autodesk.fbx",
                            "application/zip",
                            "audio/flac",
                            "audio/m4a",
                            "audio/mpeg",
                            "audio/ogg",
                            "audio/wav",
                            "image/aces",
                            "image/avif",
                            "image/bmp",
                            "image/gif",
                            "image/heic",
                            "image/jpeg",
                            "image/png",
                            "image/svg+xml",
                            "image/tiff",
                            "image/vnd.radiance",
                            "image/webp",
                            "image/x-exr",
                            "model/glb",
                            "model/gltf+json",
                            "model/gltf-binary",
                            "model/ksplat",
                            "model/mtl",
                            "model/obj",
                            "model/ply",
                            "model/sog",
                            "model/splat",
                            "model/spz",
                            "model/stl",
                            "model/vnd.collada+xml",
                            "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                            "model/vnd.usdz+zip",
                            "model/x-3d-vox",
                            "model/x-blender",
                            "model/x-fbx",
                            "model/x-maya-ascii",
                            "model/x-maya-binary",
                            "model/x-vsplat",
                            "model/x3d+xml",
                            "text/plain",
                            "video/mp4",
                            "video/quicktime",
                            "video/webm"
                          ],
                          "type": "string"
                        },
                        "outputIndex": {
                          "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                          "type": "number"
                        },
                        "ownerId": {
                          "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                          "type": "string"
                        },
                        "preview": {
                          "additionalProperties": false,
                          "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "description": "The privacy of the asset",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "properties": {
                          "additionalProperties": false,
                          "description": "The properties of the asset, content may depend on the kind of asset returned",
                          "properties": {
                            "animationFrameCount": {
                              "description": "Number of animation frames if animations exist",
                              "type": "number"
                            },
                            "bitrate": {
                              "description": "Bitrate of the media in bits per second",
                              "type": "number"
                            },
                            "boneCount": {
                              "description": "Number of bones if skeleton exists",
                              "type": "number"
                            },
                            "cameraMode": {
                              "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "enum": [
                                "aerial",
                                "interior",
                                "turntable"
                              ],
                              "type": "string"
                            },
                            "cameraTrajectory": {
                              "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "items": {
                                "additionalProperties": false,
                                "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                "properties": {
                                  "fov": {
                                    "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                    "type": "number"
                                  },
                                  "position": {
                                    "description": "Camera eye position in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "target": {
                                    "description": "Look-at point in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "position",
                                  "target"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "channels": {
                              "description": "Number of channels of the audio",
                              "type": "number"
                            },
                            "charCount": {
                              "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                              "type": "number"
                            },
                            "classification": {
                              "description": "Classification of the audio",
                              "enum": [
                                "effect",
                                "interview",
                                "music",
                                "other",
                                "sound",
                                "speech",
                                "text",
                                "unknown"
                              ],
                              "type": "string"
                            },
                            "codecName": {
                              "description": "Codec name of the media",
                              "type": "string"
                            },
                            "description": {
                              "description": "Description of the audio",
                              "type": "string"
                            },
                            "dimensions": {
                              "description": "Bounding box dimensions [width, height, depth]",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "duration": {
                              "description": "Duration of the media in seconds",
                              "type": "number"
                            },
                            "faceCount": {
                              "description": "Number of faces/triangles in the mesh",
                              "type": "number"
                            },
                            "format": {
                              "description": "Format of the mesh file (e.g. 'glb', etc.)",
                              "type": "string"
                            },
                            "frameRate": {
                              "description": "Frame rate of the video in frames per second",
                              "type": "number"
                            },
                            "hasAnimations": {
                              "description": "Whether the mesh has animations",
                              "type": "boolean"
                            },
                            "hasFullPreview": {
                              "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                              "type": "boolean"
                            },
                            "hasNormals": {
                              "description": "Whether the mesh has normal vectors",
                              "type": "boolean"
                            },
                            "hasSkeleton": {
                              "description": "Whether the mesh has bones/skeleton",
                              "type": "boolean"
                            },
                            "hasUVs": {
                              "description": "Whether the mesh has UV coordinates",
                              "type": "boolean"
                            },
                            "height": {
                              "type": "number"
                            },
                            "nbFrames": {
                              "description": "Number of frames in the video",
                              "type": "number"
                            },
                            "preview": {
                              "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                              "type": "string"
                            },
                            "sampleRate": {
                              "description": "Sample rate of the media in Hz",
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "transcription": {
                              "additionalProperties": false,
                              "description": "Transcription of the audio",
                              "properties": {
                                "text": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text"
                              ],
                              "type": "object"
                            },
                            "vertexCount": {
                              "description": "Number of vertices in the mesh",
                              "type": "number"
                            },
                            "width": {
                              "type": "number"
                            },
                            "wordCount": {
                              "description": "Number of whitespace-separated words in the text",
                              "type": "number"
                            }
                          },
                          "required": [
                            "size"
                          ],
                          "type": "object"
                        },
                        "qualityGate": {
                          "additionalProperties": false,
                          "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                          "properties": {
                            "aiQualityScore": {
                              "description": "Generic AI-quality sub-score",
                              "type": "number"
                            },
                            "appliedBriefIds": {
                              "description": "Ids of briefs that contributed",
                              "items": {
                                "description": "Opaque identifier for a brief, derived from its scope.",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "briefComplianceScore": {
                              "description": "Brief-compliance sub-score (omitted when no brief applied)",
                              "type": "number"
                            },
                            "computedAt": {
                              "description": "ISO-8601 timestamp of when scoring ran",
                              "type": "string"
                            },
                            "details": {
                              "additionalProperties": false,
                              "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                              "properties": {
                                "aiQuality": {
                                  "additionalProperties": false,
                                  "description": "Always-on generic AI-quality dimension",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                },
                                "briefCompliance": {
                                  "additionalProperties": false,
                                  "description": "Brief-compliance dimension; omitted when no brief applied",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                }
                              },
                              "required": [
                                "aiQuality"
                              ],
                              "type": "object"
                            },
                            "error": {
                              "description": "Error message when status is 'error' (truncated)",
                              "type": "string"
                            },
                            "overallScore": {
                              "description": "0–100 composite score (present when status is 'scored')",
                              "type": "number"
                            },
                            "sensitivity": {
                              "description": "Sensitivity used for the verdict",
                              "enum": [
                                "high",
                                "low",
                                "medium"
                              ],
                              "type": "string"
                            },
                            "status": {
                              "description": "Whether scoring succeeded or errored",
                              "enum": [
                                "error",
                                "scored"
                              ],
                              "type": "string"
                            },
                            "verdict": {
                              "description": "pass / warn / fail (present when status is 'scored')",
                              "enum": [
                                "fail",
                                "pass",
                                "warn"
                              ],
                              "type": "string"
                            },
                            "version": {
                              "description": "Rubric/model version that produced this result",
                              "type": "string"
                            }
                          },
                          "required": [
                            "computedAt",
                            "status",
                            "version"
                          ],
                          "type": "object"
                        },
                        "source": {
                          "description": "source of the asset",
                          "enum": [
                            "3d23d",
                            "3d23d:texture",
                            "3d:texture",
                            "3d:texture:albedo",
                            "3d:texture:metallic",
                            "3d:texture:mtl",
                            "3d:texture:normal",
                            "3d:texture:roughness",
                            "audio2audio",
                            "audio2txt",
                            "audio2video",
                            "background-removal",
                            "canvas",
                            "canvas-drawing",
                            "canvas-export",
                            "detection",
                            "generative-fill",
                            "image-prompt-editing",
                            "img23d",
                            "img2img",
                            "img2splat",
                            "img2txt",
                            "img2video",
                            "inference-control-net",
                            "inference-control-net-img",
                            "inference-control-net-inpainting",
                            "inference-control-net-inpainting-ip-adapter",
                            "inference-control-net-ip-adapter",
                            "inference-control-net-reference",
                            "inference-control-net-texture",
                            "inference-img",
                            "inference-img-ip-adapter",
                            "inference-img-texture",
                            "inference-in-paint",
                            "inference-in-paint-ip-adapter",
                            "inference-reference",
                            "inference-reference-texture",
                            "inference-txt",
                            "inference-txt-ip-adapter",
                            "inference-txt-texture",
                            "patch",
                            "pixelization",
                            "reframe",
                            "restyle",
                            "segment",
                            "segmentation-image",
                            "segmentation-mask",
                            "skybox-3d",
                            "skybox-base-360",
                            "skybox-hdri",
                            "texture",
                            "texture:albedo",
                            "texture:ao",
                            "texture:edge",
                            "texture:height",
                            "texture:metallic",
                            "texture:normal",
                            "texture:smoothness",
                            "txt23d",
                            "txt2audio",
                            "txt2img",
                            "txt2txt",
                            "txt2video",
                            "unknown",
                            "uploaded",
                            "uploaded-3d",
                            "uploaded-audio",
                            "uploaded-avatar",
                            "uploaded-text",
                            "uploaded-video",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "upscale-video",
                            "vectorization",
                            "video23d",
                            "video2audio",
                            "video2img",
                            "video2txt",
                            "video2video",
                            "voice-clone"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The actual status",
                          "enum": [
                            "error",
                            "pending",
                            "success"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "url": {
                          "description": "Signed URL to get the asset content",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "collectionIds",
                        "createdAt",
                        "editCapabilities",
                        "id",
                        "kind",
                        "metadata",
                        "mimeType",
                        "ownerId",
                        "privacy",
                        "properties",
                        "source",
                        "status",
                        "tags",
                        "updatedAt",
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "asset"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "targetProjectId": {
                    "type": "string",
                    "description": "The id of the project to copy the asset to. If not provided, the asset will be copied to the canvas project."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/assets/{assetId}/lock": {
      "put": {
        "operationId": "LockAssetByAssetId",
        "description": "Lock a canvas",
        "tags": [
          "Assets"
        ],
        "parameters": [
          {
            "name": "assetId",
            "in": "path",
            "required": true,
            "description": "The ID of the canvas to lock",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "lockId": {
                      "type": "string",
                      "description": "The value of the lock to use when updating/unlocking the canvas."
                    },
                    "asset": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "automaticCaptioning": {
                          "description": "Automatic captioning of the asset",
                          "type": "string"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this asset belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                          "type": "string"
                        },
                        "description": {
                          "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                          "type": "string"
                        },
                        "editCapabilities": {
                          "description": "List of edit capabilities",
                          "items": {
                            "enum": [
                              "DETECTION",
                              "GENERATIVE_FILL",
                              "PIXELATE",
                              "PROMPT_EDITING",
                              "REFINE",
                              "REFRAME",
                              "REMOVE_BACKGROUND",
                              "SEGMENTATION",
                              "UPSCALE",
                              "UPSCALE_360",
                              "VECTORIZATION"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "embedding": {
                          "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                          "items": {
                            "type": "number"
                          },
                          "type": "array"
                        },
                        "firstFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "id": {
                          "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "isHidden": {
                          "description": "Whether the asset is hidden.",
                          "type": "boolean"
                        },
                        "kind": {
                          "description": "The kind of asset",
                          "enum": [
                            "3d",
                            "audio",
                            "document",
                            "image",
                            "image-hdr",
                            "json",
                            "text",
                            "video"
                          ],
                          "type": "string"
                        },
                        "lastFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the asset with some additional information",
                          "properties": {
                            "angular": {
                              "default": 0.5,
                              "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "aspectRatio": {
                              "description": "The optional aspect ratio given for the generation, only applicable for some models",
                              "type": "string"
                            },
                            "backgroundOpacity": {
                              "default": 0,
                              "maximum": 255,
                              "minimum": 0,
                              "type": "number"
                            },
                            "baseModelId": {
                              "description": "The baseModelId that maybe changed at inference time",
                              "type": "string"
                            },
                            "bbox": {
                              "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 4,
                              "minItems": 4,
                              "type": "array"
                            },
                            "betterQuality": {
                              "default": false,
                              "type": "boolean"
                            },
                            "cannyStructureImage": {
                              "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "clustering": {
                              "default": false,
                              "description": "Activate clustering.",
                              "type": "boolean"
                            },
                            "colorCorrection": {
                              "default": true,
                              "description": "Ensure upscaled tile have the same color histogram as original tile.",
                              "type": "boolean"
                            },
                            "colorMode": {
                              "type": "string"
                            },
                            "colorPrecision": {
                              "type": "number"
                            },
                            "concepts": {
                              "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "modelEpoch": {
                                    "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                    "type": "string"
                                  },
                                  "scale": {
                                    "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                    "maximum": 2,
                                    "minimum": -2,
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "modelId",
                                  "scale"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "contours": {
                              "items": {
                                "items": {
                                  "items": {
                                    "items": {
                                      "type": "number"
                                    },
                                    "type": "array"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "type": "array"
                            },
                            "controlEnd": {
                              "description": "End step for control.",
                              "type": "number"
                            },
                            "copiedAt": {
                              "description": "The date when the asset was copied to a project",
                              "type": "string"
                            },
                            "cornerThreshold": {
                              "type": "number"
                            },
                            "creativity": {
                              "default": 35,
                              "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "creativityDecay": {
                              "default": 80,
                              "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "defaultParameters": {
                              "default": false,
                              "description": "If true, use the default parameters",
                              "type": "boolean"
                            },
                            "depthFidelity": {
                              "default": 90,
                              "description": "The depth fidelity if a depth image provided",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "depthImage": {
                              "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "detailsLevel": {
                              "default": 0,
                              "description": "Amount of details to remove or add",
                              "maximum": 50,
                              "minimum": -50,
                              "type": "number"
                            },
                            "dilate": {
                              "default": 0,
                              "maximum": 30,
                              "minimum": 0,
                              "type": "number"
                            },
                            "factor": {
                              "default": 5,
                              "description": "Contrast factor for Grayscale detector",
                              "type": "number"
                            },
                            "fileName": {
                              "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                              "type": "string"
                            },
                            "filterSpeckle": {
                              "type": "number"
                            },
                            "fractality": {
                              "default": 40,
                              "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "geometryEnforcement": {
                              "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "guidance": {
                              "description": "The guidance used to generate this asset",
                              "type": "number"
                            },
                            "halfMode": {
                              "type": "boolean"
                            },
                            "hdr": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            },
                            "highThreshold": {
                              "default": 200,
                              "description": "High threshold for Canny detector",
                              "type": "number"
                            },
                            "horizontalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Horizontal expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "image": {
                              "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                              "type": "string"
                            },
                            "imageFidelity": {
                              "default": 50,
                              "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "imageType": {
                              "default": "seamfull",
                              "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                              "enum": [
                                "seamfull",
                                "skybox",
                                "texture"
                              ],
                              "type": "string"
                            },
                            "inferenceId": {
                              "description": "The id of the Inference describing how this image was generated",
                              "type": "string"
                            },
                            "inputFidelity": {
                              "default": "low",
                              "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                              "enum": [
                                "high",
                                "low"
                              ],
                              "type": "string"
                            },
                            "inputLocation": {
                              "default": "middle",
                              "description": "Location of the input image in the output.",
                              "enum": [
                                "bottom",
                                "left",
                                "middle",
                                "right",
                                "top"
                              ],
                              "type": "string"
                            },
                            "invert": {
                              "default": false,
                              "description": "To invert the relief",
                              "type": "boolean"
                            },
                            "keepsFileNames": {
                              "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                              "type": "boolean"
                            },
                            "keypointThreshold": {
                              "default": 0.3,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "kind": {
                              "enum": [
                                "3d",
                                "audio",
                                "document",
                                "image",
                                "image-hdr",
                                "json",
                                "text",
                                "video"
                              ],
                              "type": "string"
                            },
                            "layerDifference": {
                              "type": "number"
                            },
                            "lengthThreshold": {
                              "type": "number"
                            },
                            "lockExpiresAt": {
                              "description": "The ISO timestamp when the lock on the canvas will expire",
                              "type": "string"
                            },
                            "lowThreshold": {
                              "default": 100,
                              "description": "Low threshold for Canny detector",
                              "type": "number"
                            },
                            "mask": {
                              "description": "The mask used for the asset generation or editing",
                              "type": "string"
                            },
                            "maxIterations": {
                              "type": "number"
                            },
                            "maxThreshold": {
                              "default": 90,
                              "description": "Maximum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "minThreshold": {
                              "default": 10,
                              "description": "Minimum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "modality": {
                              "default": "canny",
                              "description": "Modality to detect",
                              "enum": [
                                "canny",
                                "depth",
                                "grayscale",
                                "lineart_anime",
                                "mlsd",
                                "normal",
                                "pose",
                                "scribble",
                                "segmentation",
                                "sketch"
                              ],
                              "type": "string"
                            },
                            "mode": {
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The modelId used to generate this asset",
                              "type": "string"
                            },
                            "modelType": {
                              "description": "The type of the generator used",
                              "enum": [
                                "custom",
                                "elevenlabs-voice",
                                "flux.1",
                                "flux.1-composition",
                                "flux.1-kontext-dev",
                                "flux.1-kontext-lora",
                                "flux.1-krea-dev",
                                "flux.1-krea-lora",
                                "flux.1-lora",
                                "flux.1-pro",
                                "flux.1.1-pro-ultra",
                                "flux.2-dev-edit-lora",
                                "flux.2-dev-lora",
                                "flux.2-klein-4b-edit-lora",
                                "flux.2-klein-4b-lora",
                                "flux.2-klein-9b-edit-lora",
                                "flux.2-klein-9b-lora",
                                "flux.2-klein-base-4b-edit-lora",
                                "flux.2-klein-base-4b-lora",
                                "flux.2-klein-base-9b-edit-lora",
                                "flux.2-klein-base-9b-lora",
                                "flux1.1-pro",
                                "gpt-image-1",
                                "qwen-image-2512-lora",
                                "qwen-image-edit-2509-lora",
                                "qwen-image-edit-2511-lora",
                                "qwen-image-edit-lora",
                                "qwen-image-lora",
                                "zimage-de-turbo-lora",
                                "zimage-lora",
                                "zimage-turbo-lora"
                              ],
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "nbMasks": {
                              "type": "number"
                            },
                            "negativePrompt": {
                              "description": "The negative prompt used to generate this asset",
                              "type": "string"
                            },
                            "negativePromptStrength": {
                              "default": 0,
                              "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                              "maximum": 10,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numInferenceSteps": {
                              "default": 10,
                              "description": "The number of denoising steps for each image generation.",
                              "maximum": 50,
                              "minimum": 5,
                              "type": "number"
                            },
                            "numOutputs": {
                              "default": 4,
                              "description": "The number of outputs to generate.",
                              "maximum": 8,
                              "minimum": 1,
                              "type": "number"
                            },
                            "originalAssetId": {
                              "type": "string"
                            },
                            "outputIndex": {
                              "type": "number"
                            },
                            "overlapPercentage": {
                              "default": 0.08,
                              "description": "Overlap percentage for the output image.",
                              "maximum": 0.5,
                              "minimum": 0,
                              "type": "number"
                            },
                            "overrideEmbeddings": {
                              "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                              "type": "boolean"
                            },
                            "parentId": {
                              "type": "string"
                            },
                            "parentJobId": {
                              "type": "string"
                            },
                            "pathPrecision": {
                              "type": "number"
                            },
                            "points": {
                              "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                              "items": {
                                "items": {
                                  "type": "number"
                                },
                                "type": "array"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "polished": {
                              "default": 0.5,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "preset": {
                              "type": "string"
                            },
                            "progressPercent": {
                              "type": "number"
                            },
                            "prompt": {
                              "description": "The prompt that guided the asset generation or editing",
                              "type": "string"
                            },
                            "promptFidelity": {
                              "default": 50,
                              "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "raised": {
                              "default": 0.5,
                              "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "referenceImages": {
                              "description": "The reference images used for the asset generation or editing",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "refinementSteps": {
                              "default": 0,
                              "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                              "maximum": 4,
                              "minimum": 0,
                              "type": "number"
                            },
                            "removeBackground": {
                              "default": true,
                              "description": "Remove background for Grayscale detector",
                              "type": "boolean"
                            },
                            "resizeOption": {
                              "default": 1,
                              "description": "Size proportion of the input image in the output.",
                              "maximum": 1,
                              "minimum": 0.1,
                              "type": "number"
                            },
                            "resultContours": {
                              "default": false,
                              "description": "Boolean to output the contours.",
                              "type": "boolean"
                            },
                            "resultImage": {
                              "default": false,
                              "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                              "type": "boolean"
                            },
                            "resultMask": {
                              "default": true,
                              "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                              "type": "boolean"
                            },
                            "rootParentId": {
                              "type": "string"
                            },
                            "saveFlipbook": {
                              "default": true,
                              "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                              "type": "boolean"
                            },
                            "scalingFactor": {
                              "default": 2,
                              "description": "Scaling factor (when `targetWidth` not specified)",
                              "maximum": 16,
                              "minimum": 1,
                              "type": "number"
                            },
                            "scheduler": {
                              "description": "The scheduler used to generate this asset",
                              "type": "string"
                            },
                            "seed": {
                              "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                              "type": "string"
                            },
                            "sharpen": {
                              "default": false,
                              "description": "Sharpen tiles.",
                              "type": "boolean"
                            },
                            "shiny": {
                              "default": 0.5,
                              "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "sketch": {
                              "default": false,
                              "description": "Activate sketch detection instead of canny.",
                              "type": "boolean"
                            },
                            "sourceProjectId": {
                              "type": "string"
                            },
                            "spliceThreshold": {
                              "type": "number"
                            },
                            "strength": {
                              "default": 1,
                              "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                              "type": "number"
                            },
                            "structureFidelity": {
                              "default": 35,
                              "description": "Strength for the input image structure preservation",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "structureImage": {
                              "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "style": {
                              "enum": [
                                "3d-cartoon",
                                "3d-rendered",
                                "anime",
                                "cartoon",
                                "cinematic",
                                "claymation",
                                "cloud-skydome",
                                "comic",
                                "cyberpunk",
                                "enchanted",
                                "fantasy",
                                "ink",
                                "manga",
                                "manga-color",
                                "minimalist",
                                "neon-tron",
                                "oil-painting",
                                "pastel",
                                "photo",
                                "photography",
                                "psychedelic",
                                "retro-fantasy",
                                "scifi-concept-art",
                                "space",
                                "standard",
                                "whimsical"
                              ],
                              "type": "string"
                            },
                            "styleFidelity": {
                              "default": 20,
                              "description": "The higher the value the more it will look like the style image(s)",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "styleImages": {
                              "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                              "items": {
                                "type": "string"
                              },
                              "maxItems": 10,
                              "type": "array"
                            },
                            "styleImagesFidelity": {
                              "default": 17,
                              "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetHeight": {
                              "default": 1024,
                              "description": "The target height of the output image.",
                              "maximum": 2048,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetWidth": {
                              "description": "Target width for the upscaled image, take priority over scaling factor",
                              "maximum": 16000,
                              "minimum": 1024,
                              "type": "number"
                            },
                            "text": {
                              "description": "A textual description / keywords describing the object of interest.",
                              "maxLength": 100,
                              "type": "string"
                            },
                            "texture": {
                              "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "thumbnail": {
                              "additionalProperties": false,
                              "description": "The thumbnail of the canvas",
                              "properties": {
                                "assetId": {
                                  "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                  "type": "string"
                                },
                                "url": {
                                  "description": "The url of the image used as a thumbnail for the canvas",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "assetId",
                                "url"
                              ],
                              "type": "object"
                            },
                            "tileStyle": {
                              "default": false,
                              "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                              "type": "boolean"
                            },
                            "trainingImage": {
                              "type": "boolean"
                            },
                            "type": {
                              "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                              "enum": [
                                "3d-texture",
                                "3d-texture-albedo",
                                "3d-texture-metallic",
                                "3d-texture-mtl",
                                "3d-texture-normal",
                                "3d-texture-roughness",
                                "3d23d",
                                "3d23d-texture",
                                "audio2audio",
                                "audio2txt",
                                "audio2video",
                                "background-removal",
                                "canvas",
                                "canvas-drawing",
                                "canvas-export",
                                "detection",
                                "generative-fill",
                                "image-prompt-editing",
                                "img23d",
                                "img2img",
                                "img2splat",
                                "img2txt",
                                "img2video",
                                "inference-controlnet",
                                "inference-controlnet-img2img",
                                "inference-controlnet-inpaint",
                                "inference-controlnet-inpaint-ip-adapter",
                                "inference-controlnet-ip-adapter",
                                "inference-controlnet-reference",
                                "inference-controlnet-texture",
                                "inference-img2img",
                                "inference-img2img-ip-adapter",
                                "inference-img2img-texture",
                                "inference-inpaint",
                                "inference-inpaint-ip-adapter",
                                "inference-reference",
                                "inference-reference-texture",
                                "inference-txt2img",
                                "inference-txt2img-ip-adapter",
                                "inference-txt2img-texture",
                                "patch",
                                "pixelization",
                                "reframe",
                                "restyle",
                                "segment",
                                "segmentation-image",
                                "segmentation-mask",
                                "skybox-3d",
                                "skybox-base-360",
                                "skybox-hdri",
                                "texture",
                                "texture-albedo",
                                "texture-ao",
                                "texture-edge",
                                "texture-height",
                                "texture-metallic",
                                "texture-normal",
                                "texture-smoothness",
                                "txt23d",
                                "txt2audio",
                                "txt2img",
                                "txt2txt",
                                "txt2video",
                                "unknown",
                                "uploaded",
                                "uploaded-3d",
                                "uploaded-audio",
                                "uploaded-avatar",
                                "uploaded-text",
                                "uploaded-video",
                                "upscale",
                                "upscale-skybox",
                                "upscale-texture",
                                "upscale-video",
                                "vectorization",
                                "video23d",
                                "video2audio",
                                "video2img",
                                "video2txt",
                                "video2video",
                                "voice-clone"
                              ],
                              "type": "string"
                            },
                            "verticalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Vertical expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "width": {
                              "default": 1536,
                              "description": "The width of the rendered image.",
                              "maximum": 2048,
                              "minimum": 1024,
                              "type": "number"
                            }
                          },
                          "required": [
                            "kind",
                            "type"
                          ],
                          "type": "object"
                        },
                        "mimeType": {
                          "description": "The mime type of the asset (example: \"image/png\")",
                          "type": "string"
                        },
                        "nsfw": {
                          "description": "The NSFW labels",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "originalFileUrl": {
                          "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                          "type": "string"
                        },
                        "originalMimeType": {
                          "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                          "enum": [
                            "application/gzip",
                            "application/json",
                            "application/octet-stream",
                            "application/pdf",
                            "application/safetensors",
                            "application/vnd.autodesk.fbx",
                            "application/x-authorware-bin",
                            "application/x-zip-compressed",
                            "application/x.autodesk.fbx",
                            "application/zip",
                            "audio/flac",
                            "audio/m4a",
                            "audio/mpeg",
                            "audio/ogg",
                            "audio/wav",
                            "image/aces",
                            "image/avif",
                            "image/bmp",
                            "image/gif",
                            "image/heic",
                            "image/jpeg",
                            "image/png",
                            "image/svg+xml",
                            "image/tiff",
                            "image/vnd.radiance",
                            "image/webp",
                            "image/x-exr",
                            "model/glb",
                            "model/gltf+json",
                            "model/gltf-binary",
                            "model/ksplat",
                            "model/mtl",
                            "model/obj",
                            "model/ply",
                            "model/sog",
                            "model/splat",
                            "model/spz",
                            "model/stl",
                            "model/vnd.collada+xml",
                            "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                            "model/vnd.usdz+zip",
                            "model/x-3d-vox",
                            "model/x-blender",
                            "model/x-fbx",
                            "model/x-maya-ascii",
                            "model/x-maya-binary",
                            "model/x-vsplat",
                            "model/x3d+xml",
                            "text/plain",
                            "video/mp4",
                            "video/quicktime",
                            "video/webm"
                          ],
                          "type": "string"
                        },
                        "outputIndex": {
                          "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                          "type": "number"
                        },
                        "ownerId": {
                          "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                          "type": "string"
                        },
                        "preview": {
                          "additionalProperties": false,
                          "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "description": "The privacy of the asset",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "properties": {
                          "additionalProperties": false,
                          "description": "The properties of the asset, content may depend on the kind of asset returned",
                          "properties": {
                            "animationFrameCount": {
                              "description": "Number of animation frames if animations exist",
                              "type": "number"
                            },
                            "bitrate": {
                              "description": "Bitrate of the media in bits per second",
                              "type": "number"
                            },
                            "boneCount": {
                              "description": "Number of bones if skeleton exists",
                              "type": "number"
                            },
                            "cameraMode": {
                              "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "enum": [
                                "aerial",
                                "interior",
                                "turntable"
                              ],
                              "type": "string"
                            },
                            "cameraTrajectory": {
                              "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "items": {
                                "additionalProperties": false,
                                "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                "properties": {
                                  "fov": {
                                    "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                    "type": "number"
                                  },
                                  "position": {
                                    "description": "Camera eye position in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "target": {
                                    "description": "Look-at point in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "position",
                                  "target"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "channels": {
                              "description": "Number of channels of the audio",
                              "type": "number"
                            },
                            "charCount": {
                              "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                              "type": "number"
                            },
                            "classification": {
                              "description": "Classification of the audio",
                              "enum": [
                                "effect",
                                "interview",
                                "music",
                                "other",
                                "sound",
                                "speech",
                                "text",
                                "unknown"
                              ],
                              "type": "string"
                            },
                            "codecName": {
                              "description": "Codec name of the media",
                              "type": "string"
                            },
                            "description": {
                              "description": "Description of the audio",
                              "type": "string"
                            },
                            "dimensions": {
                              "description": "Bounding box dimensions [width, height, depth]",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "duration": {
                              "description": "Duration of the media in seconds",
                              "type": "number"
                            },
                            "faceCount": {
                              "description": "Number of faces/triangles in the mesh",
                              "type": "number"
                            },
                            "format": {
                              "description": "Format of the mesh file (e.g. 'glb', etc.)",
                              "type": "string"
                            },
                            "frameRate": {
                              "description": "Frame rate of the video in frames per second",
                              "type": "number"
                            },
                            "hasAnimations": {
                              "description": "Whether the mesh has animations",
                              "type": "boolean"
                            },
                            "hasFullPreview": {
                              "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                              "type": "boolean"
                            },
                            "hasNormals": {
                              "description": "Whether the mesh has normal vectors",
                              "type": "boolean"
                            },
                            "hasSkeleton": {
                              "description": "Whether the mesh has bones/skeleton",
                              "type": "boolean"
                            },
                            "hasUVs": {
                              "description": "Whether the mesh has UV coordinates",
                              "type": "boolean"
                            },
                            "height": {
                              "type": "number"
                            },
                            "nbFrames": {
                              "description": "Number of frames in the video",
                              "type": "number"
                            },
                            "preview": {
                              "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                              "type": "string"
                            },
                            "sampleRate": {
                              "description": "Sample rate of the media in Hz",
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "transcription": {
                              "additionalProperties": false,
                              "description": "Transcription of the audio",
                              "properties": {
                                "text": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text"
                              ],
                              "type": "object"
                            },
                            "vertexCount": {
                              "description": "Number of vertices in the mesh",
                              "type": "number"
                            },
                            "width": {
                              "type": "number"
                            },
                            "wordCount": {
                              "description": "Number of whitespace-separated words in the text",
                              "type": "number"
                            }
                          },
                          "required": [
                            "size"
                          ],
                          "type": "object"
                        },
                        "qualityGate": {
                          "additionalProperties": false,
                          "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                          "properties": {
                            "aiQualityScore": {
                              "description": "Generic AI-quality sub-score",
                              "type": "number"
                            },
                            "appliedBriefIds": {
                              "description": "Ids of briefs that contributed",
                              "items": {
                                "description": "Opaque identifier for a brief, derived from its scope.",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "briefComplianceScore": {
                              "description": "Brief-compliance sub-score (omitted when no brief applied)",
                              "type": "number"
                            },
                            "computedAt": {
                              "description": "ISO-8601 timestamp of when scoring ran",
                              "type": "string"
                            },
                            "details": {
                              "additionalProperties": false,
                              "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                              "properties": {
                                "aiQuality": {
                                  "additionalProperties": false,
                                  "description": "Always-on generic AI-quality dimension",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                },
                                "briefCompliance": {
                                  "additionalProperties": false,
                                  "description": "Brief-compliance dimension; omitted when no brief applied",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                }
                              },
                              "required": [
                                "aiQuality"
                              ],
                              "type": "object"
                            },
                            "error": {
                              "description": "Error message when status is 'error' (truncated)",
                              "type": "string"
                            },
                            "overallScore": {
                              "description": "0–100 composite score (present when status is 'scored')",
                              "type": "number"
                            },
                            "sensitivity": {
                              "description": "Sensitivity used for the verdict",
                              "enum": [
                                "high",
                                "low",
                                "medium"
                              ],
                              "type": "string"
                            },
                            "status": {
                              "description": "Whether scoring succeeded or errored",
                              "enum": [
                                "error",
                                "scored"
                              ],
                              "type": "string"
                            },
                            "verdict": {
                              "description": "pass / warn / fail (present when status is 'scored')",
                              "enum": [
                                "fail",
                                "pass",
                                "warn"
                              ],
                              "type": "string"
                            },
                            "version": {
                              "description": "Rubric/model version that produced this result",
                              "type": "string"
                            }
                          },
                          "required": [
                            "computedAt",
                            "status",
                            "version"
                          ],
                          "type": "object"
                        },
                        "source": {
                          "description": "source of the asset",
                          "enum": [
                            "3d23d",
                            "3d23d:texture",
                            "3d:texture",
                            "3d:texture:albedo",
                            "3d:texture:metallic",
                            "3d:texture:mtl",
                            "3d:texture:normal",
                            "3d:texture:roughness",
                            "audio2audio",
                            "audio2txt",
                            "audio2video",
                            "background-removal",
                            "canvas",
                            "canvas-drawing",
                            "canvas-export",
                            "detection",
                            "generative-fill",
                            "image-prompt-editing",
                            "img23d",
                            "img2img",
                            "img2splat",
                            "img2txt",
                            "img2video",
                            "inference-control-net",
                            "inference-control-net-img",
                            "inference-control-net-inpainting",
                            "inference-control-net-inpainting-ip-adapter",
                            "inference-control-net-ip-adapter",
                            "inference-control-net-reference",
                            "inference-control-net-texture",
                            "inference-img",
                            "inference-img-ip-adapter",
                            "inference-img-texture",
                            "inference-in-paint",
                            "inference-in-paint-ip-adapter",
                            "inference-reference",
                            "inference-reference-texture",
                            "inference-txt",
                            "inference-txt-ip-adapter",
                            "inference-txt-texture",
                            "patch",
                            "pixelization",
                            "reframe",
                            "restyle",
                            "segment",
                            "segmentation-image",
                            "segmentation-mask",
                            "skybox-3d",
                            "skybox-base-360",
                            "skybox-hdri",
                            "texture",
                            "texture:albedo",
                            "texture:ao",
                            "texture:edge",
                            "texture:height",
                            "texture:metallic",
                            "texture:normal",
                            "texture:smoothness",
                            "txt23d",
                            "txt2audio",
                            "txt2img",
                            "txt2txt",
                            "txt2video",
                            "unknown",
                            "uploaded",
                            "uploaded-3d",
                            "uploaded-audio",
                            "uploaded-avatar",
                            "uploaded-text",
                            "uploaded-video",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "upscale-video",
                            "vectorization",
                            "video23d",
                            "video2audio",
                            "video2img",
                            "video2txt",
                            "video2video",
                            "voice-clone"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The actual status",
                          "enum": [
                            "error",
                            "pending",
                            "success"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "url": {
                          "description": "Signed URL to get the asset content",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "collectionIds",
                        "createdAt",
                        "editCapabilities",
                        "id",
                        "kind",
                        "metadata",
                        "mimeType",
                        "ownerId",
                        "privacy",
                        "properties",
                        "source",
                        "status",
                        "tags",
                        "updatedAt",
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "asset"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "lockExpiresAt": {
                    "type": "string",
                    "description": "The ISO timestamp when the lock on the canvas will expire."
                  }
                },
                "required": [
                  "lockExpiresAt"
                ]
              }
            }
          }
        }
      }
    },
    "/assets/{assetId}/unlock": {
      "put": {
        "operationId": "UnlockAssetByAssetId",
        "description": "Unlock a canvas",
        "tags": [
          "Assets"
        ],
        "parameters": [
          {
            "name": "assetId",
            "in": "path",
            "required": true,
            "description": "The ID of the canvas to unlock",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "asset": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "automaticCaptioning": {
                          "description": "Automatic captioning of the asset",
                          "type": "string"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this asset belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                          "type": "string"
                        },
                        "description": {
                          "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                          "type": "string"
                        },
                        "editCapabilities": {
                          "description": "List of edit capabilities",
                          "items": {
                            "enum": [
                              "DETECTION",
                              "GENERATIVE_FILL",
                              "PIXELATE",
                              "PROMPT_EDITING",
                              "REFINE",
                              "REFRAME",
                              "REMOVE_BACKGROUND",
                              "SEGMENTATION",
                              "UPSCALE",
                              "UPSCALE_360",
                              "VECTORIZATION"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "embedding": {
                          "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                          "items": {
                            "type": "number"
                          },
                          "type": "array"
                        },
                        "firstFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "id": {
                          "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "isHidden": {
                          "description": "Whether the asset is hidden.",
                          "type": "boolean"
                        },
                        "kind": {
                          "description": "The kind of asset",
                          "enum": [
                            "3d",
                            "audio",
                            "document",
                            "image",
                            "image-hdr",
                            "json",
                            "text",
                            "video"
                          ],
                          "type": "string"
                        },
                        "lastFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the asset with some additional information",
                          "properties": {
                            "angular": {
                              "default": 0.5,
                              "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "aspectRatio": {
                              "description": "The optional aspect ratio given for the generation, only applicable for some models",
                              "type": "string"
                            },
                            "backgroundOpacity": {
                              "default": 0,
                              "maximum": 255,
                              "minimum": 0,
                              "type": "number"
                            },
                            "baseModelId": {
                              "description": "The baseModelId that maybe changed at inference time",
                              "type": "string"
                            },
                            "bbox": {
                              "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 4,
                              "minItems": 4,
                              "type": "array"
                            },
                            "betterQuality": {
                              "default": false,
                              "type": "boolean"
                            },
                            "cannyStructureImage": {
                              "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "clustering": {
                              "default": false,
                              "description": "Activate clustering.",
                              "type": "boolean"
                            },
                            "colorCorrection": {
                              "default": true,
                              "description": "Ensure upscaled tile have the same color histogram as original tile.",
                              "type": "boolean"
                            },
                            "colorMode": {
                              "type": "string"
                            },
                            "colorPrecision": {
                              "type": "number"
                            },
                            "concepts": {
                              "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "modelEpoch": {
                                    "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                    "type": "string"
                                  },
                                  "scale": {
                                    "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                    "maximum": 2,
                                    "minimum": -2,
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "modelId",
                                  "scale"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "contours": {
                              "items": {
                                "items": {
                                  "items": {
                                    "items": {
                                      "type": "number"
                                    },
                                    "type": "array"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "type": "array"
                            },
                            "controlEnd": {
                              "description": "End step for control.",
                              "type": "number"
                            },
                            "copiedAt": {
                              "description": "The date when the asset was copied to a project",
                              "type": "string"
                            },
                            "cornerThreshold": {
                              "type": "number"
                            },
                            "creativity": {
                              "default": 35,
                              "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "creativityDecay": {
                              "default": 80,
                              "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "defaultParameters": {
                              "default": false,
                              "description": "If true, use the default parameters",
                              "type": "boolean"
                            },
                            "depthFidelity": {
                              "default": 90,
                              "description": "The depth fidelity if a depth image provided",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "depthImage": {
                              "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "detailsLevel": {
                              "default": 0,
                              "description": "Amount of details to remove or add",
                              "maximum": 50,
                              "minimum": -50,
                              "type": "number"
                            },
                            "dilate": {
                              "default": 0,
                              "maximum": 30,
                              "minimum": 0,
                              "type": "number"
                            },
                            "factor": {
                              "default": 5,
                              "description": "Contrast factor for Grayscale detector",
                              "type": "number"
                            },
                            "fileName": {
                              "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                              "type": "string"
                            },
                            "filterSpeckle": {
                              "type": "number"
                            },
                            "fractality": {
                              "default": 40,
                              "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "geometryEnforcement": {
                              "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "guidance": {
                              "description": "The guidance used to generate this asset",
                              "type": "number"
                            },
                            "halfMode": {
                              "type": "boolean"
                            },
                            "hdr": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            },
                            "highThreshold": {
                              "default": 200,
                              "description": "High threshold for Canny detector",
                              "type": "number"
                            },
                            "horizontalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Horizontal expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "image": {
                              "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                              "type": "string"
                            },
                            "imageFidelity": {
                              "default": 50,
                              "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "imageType": {
                              "default": "seamfull",
                              "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                              "enum": [
                                "seamfull",
                                "skybox",
                                "texture"
                              ],
                              "type": "string"
                            },
                            "inferenceId": {
                              "description": "The id of the Inference describing how this image was generated",
                              "type": "string"
                            },
                            "inputFidelity": {
                              "default": "low",
                              "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                              "enum": [
                                "high",
                                "low"
                              ],
                              "type": "string"
                            },
                            "inputLocation": {
                              "default": "middle",
                              "description": "Location of the input image in the output.",
                              "enum": [
                                "bottom",
                                "left",
                                "middle",
                                "right",
                                "top"
                              ],
                              "type": "string"
                            },
                            "invert": {
                              "default": false,
                              "description": "To invert the relief",
                              "type": "boolean"
                            },
                            "keepsFileNames": {
                              "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                              "type": "boolean"
                            },
                            "keypointThreshold": {
                              "default": 0.3,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "kind": {
                              "enum": [
                                "3d",
                                "audio",
                                "document",
                                "image",
                                "image-hdr",
                                "json",
                                "text",
                                "video"
                              ],
                              "type": "string"
                            },
                            "layerDifference": {
                              "type": "number"
                            },
                            "lengthThreshold": {
                              "type": "number"
                            },
                            "lockExpiresAt": {
                              "description": "The ISO timestamp when the lock on the canvas will expire",
                              "type": "string"
                            },
                            "lowThreshold": {
                              "default": 100,
                              "description": "Low threshold for Canny detector",
                              "type": "number"
                            },
                            "mask": {
                              "description": "The mask used for the asset generation or editing",
                              "type": "string"
                            },
                            "maxIterations": {
                              "type": "number"
                            },
                            "maxThreshold": {
                              "default": 90,
                              "description": "Maximum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "minThreshold": {
                              "default": 10,
                              "description": "Minimum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "modality": {
                              "default": "canny",
                              "description": "Modality to detect",
                              "enum": [
                                "canny",
                                "depth",
                                "grayscale",
                                "lineart_anime",
                                "mlsd",
                                "normal",
                                "pose",
                                "scribble",
                                "segmentation",
                                "sketch"
                              ],
                              "type": "string"
                            },
                            "mode": {
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The modelId used to generate this asset",
                              "type": "string"
                            },
                            "modelType": {
                              "description": "The type of the generator used",
                              "enum": [
                                "custom",
                                "elevenlabs-voice",
                                "flux.1",
                                "flux.1-composition",
                                "flux.1-kontext-dev",
                                "flux.1-kontext-lora",
                                "flux.1-krea-dev",
                                "flux.1-krea-lora",
                                "flux.1-lora",
                                "flux.1-pro",
                                "flux.1.1-pro-ultra",
                                "flux.2-dev-edit-lora",
                                "flux.2-dev-lora",
                                "flux.2-klein-4b-edit-lora",
                                "flux.2-klein-4b-lora",
                                "flux.2-klein-9b-edit-lora",
                                "flux.2-klein-9b-lora",
                                "flux.2-klein-base-4b-edit-lora",
                                "flux.2-klein-base-4b-lora",
                                "flux.2-klein-base-9b-edit-lora",
                                "flux.2-klein-base-9b-lora",
                                "flux1.1-pro",
                                "gpt-image-1",
                                "qwen-image-2512-lora",
                                "qwen-image-edit-2509-lora",
                                "qwen-image-edit-2511-lora",
                                "qwen-image-edit-lora",
                                "qwen-image-lora",
                                "zimage-de-turbo-lora",
                                "zimage-lora",
                                "zimage-turbo-lora"
                              ],
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "nbMasks": {
                              "type": "number"
                            },
                            "negativePrompt": {
                              "description": "The negative prompt used to generate this asset",
                              "type": "string"
                            },
                            "negativePromptStrength": {
                              "default": 0,
                              "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                              "maximum": 10,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numInferenceSteps": {
                              "default": 10,
                              "description": "The number of denoising steps for each image generation.",
                              "maximum": 50,
                              "minimum": 5,
                              "type": "number"
                            },
                            "numOutputs": {
                              "default": 4,
                              "description": "The number of outputs to generate.",
                              "maximum": 8,
                              "minimum": 1,
                              "type": "number"
                            },
                            "originalAssetId": {
                              "type": "string"
                            },
                            "outputIndex": {
                              "type": "number"
                            },
                            "overlapPercentage": {
                              "default": 0.08,
                              "description": "Overlap percentage for the output image.",
                              "maximum": 0.5,
                              "minimum": 0,
                              "type": "number"
                            },
                            "overrideEmbeddings": {
                              "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                              "type": "boolean"
                            },
                            "parentId": {
                              "type": "string"
                            },
                            "parentJobId": {
                              "type": "string"
                            },
                            "pathPrecision": {
                              "type": "number"
                            },
                            "points": {
                              "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                              "items": {
                                "items": {
                                  "type": "number"
                                },
                                "type": "array"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "polished": {
                              "default": 0.5,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "preset": {
                              "type": "string"
                            },
                            "progressPercent": {
                              "type": "number"
                            },
                            "prompt": {
                              "description": "The prompt that guided the asset generation or editing",
                              "type": "string"
                            },
                            "promptFidelity": {
                              "default": 50,
                              "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "raised": {
                              "default": 0.5,
                              "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "referenceImages": {
                              "description": "The reference images used for the asset generation or editing",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "refinementSteps": {
                              "default": 0,
                              "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                              "maximum": 4,
                              "minimum": 0,
                              "type": "number"
                            },
                            "removeBackground": {
                              "default": true,
                              "description": "Remove background for Grayscale detector",
                              "type": "boolean"
                            },
                            "resizeOption": {
                              "default": 1,
                              "description": "Size proportion of the input image in the output.",
                              "maximum": 1,
                              "minimum": 0.1,
                              "type": "number"
                            },
                            "resultContours": {
                              "default": false,
                              "description": "Boolean to output the contours.",
                              "type": "boolean"
                            },
                            "resultImage": {
                              "default": false,
                              "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                              "type": "boolean"
                            },
                            "resultMask": {
                              "default": true,
                              "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                              "type": "boolean"
                            },
                            "rootParentId": {
                              "type": "string"
                            },
                            "saveFlipbook": {
                              "default": true,
                              "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                              "type": "boolean"
                            },
                            "scalingFactor": {
                              "default": 2,
                              "description": "Scaling factor (when `targetWidth` not specified)",
                              "maximum": 16,
                              "minimum": 1,
                              "type": "number"
                            },
                            "scheduler": {
                              "description": "The scheduler used to generate this asset",
                              "type": "string"
                            },
                            "seed": {
                              "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                              "type": "string"
                            },
                            "sharpen": {
                              "default": false,
                              "description": "Sharpen tiles.",
                              "type": "boolean"
                            },
                            "shiny": {
                              "default": 0.5,
                              "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "sketch": {
                              "default": false,
                              "description": "Activate sketch detection instead of canny.",
                              "type": "boolean"
                            },
                            "sourceProjectId": {
                              "type": "string"
                            },
                            "spliceThreshold": {
                              "type": "number"
                            },
                            "strength": {
                              "default": 1,
                              "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                              "type": "number"
                            },
                            "structureFidelity": {
                              "default": 35,
                              "description": "Strength for the input image structure preservation",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "structureImage": {
                              "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "style": {
                              "enum": [
                                "3d-cartoon",
                                "3d-rendered",
                                "anime",
                                "cartoon",
                                "cinematic",
                                "claymation",
                                "cloud-skydome",
                                "comic",
                                "cyberpunk",
                                "enchanted",
                                "fantasy",
                                "ink",
                                "manga",
                                "manga-color",
                                "minimalist",
                                "neon-tron",
                                "oil-painting",
                                "pastel",
                                "photo",
                                "photography",
                                "psychedelic",
                                "retro-fantasy",
                                "scifi-concept-art",
                                "space",
                                "standard",
                                "whimsical"
                              ],
                              "type": "string"
                            },
                            "styleFidelity": {
                              "default": 20,
                              "description": "The higher the value the more it will look like the style image(s)",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "styleImages": {
                              "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                              "items": {
                                "type": "string"
                              },
                              "maxItems": 10,
                              "type": "array"
                            },
                            "styleImagesFidelity": {
                              "default": 17,
                              "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetHeight": {
                              "default": 1024,
                              "description": "The target height of the output image.",
                              "maximum": 2048,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetWidth": {
                              "description": "Target width for the upscaled image, take priority over scaling factor",
                              "maximum": 16000,
                              "minimum": 1024,
                              "type": "number"
                            },
                            "text": {
                              "description": "A textual description / keywords describing the object of interest.",
                              "maxLength": 100,
                              "type": "string"
                            },
                            "texture": {
                              "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "thumbnail": {
                              "additionalProperties": false,
                              "description": "The thumbnail of the canvas",
                              "properties": {
                                "assetId": {
                                  "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                  "type": "string"
                                },
                                "url": {
                                  "description": "The url of the image used as a thumbnail for the canvas",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "assetId",
                                "url"
                              ],
                              "type": "object"
                            },
                            "tileStyle": {
                              "default": false,
                              "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                              "type": "boolean"
                            },
                            "trainingImage": {
                              "type": "boolean"
                            },
                            "type": {
                              "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                              "enum": [
                                "3d-texture",
                                "3d-texture-albedo",
                                "3d-texture-metallic",
                                "3d-texture-mtl",
                                "3d-texture-normal",
                                "3d-texture-roughness",
                                "3d23d",
                                "3d23d-texture",
                                "audio2audio",
                                "audio2txt",
                                "audio2video",
                                "background-removal",
                                "canvas",
                                "canvas-drawing",
                                "canvas-export",
                                "detection",
                                "generative-fill",
                                "image-prompt-editing",
                                "img23d",
                                "img2img",
                                "img2splat",
                                "img2txt",
                                "img2video",
                                "inference-controlnet",
                                "inference-controlnet-img2img",
                                "inference-controlnet-inpaint",
                                "inference-controlnet-inpaint-ip-adapter",
                                "inference-controlnet-ip-adapter",
                                "inference-controlnet-reference",
                                "inference-controlnet-texture",
                                "inference-img2img",
                                "inference-img2img-ip-adapter",
                                "inference-img2img-texture",
                                "inference-inpaint",
                                "inference-inpaint-ip-adapter",
                                "inference-reference",
                                "inference-reference-texture",
                                "inference-txt2img",
                                "inference-txt2img-ip-adapter",
                                "inference-txt2img-texture",
                                "patch",
                                "pixelization",
                                "reframe",
                                "restyle",
                                "segment",
                                "segmentation-image",
                                "segmentation-mask",
                                "skybox-3d",
                                "skybox-base-360",
                                "skybox-hdri",
                                "texture",
                                "texture-albedo",
                                "texture-ao",
                                "texture-edge",
                                "texture-height",
                                "texture-metallic",
                                "texture-normal",
                                "texture-smoothness",
                                "txt23d",
                                "txt2audio",
                                "txt2img",
                                "txt2txt",
                                "txt2video",
                                "unknown",
                                "uploaded",
                                "uploaded-3d",
                                "uploaded-audio",
                                "uploaded-avatar",
                                "uploaded-text",
                                "uploaded-video",
                                "upscale",
                                "upscale-skybox",
                                "upscale-texture",
                                "upscale-video",
                                "vectorization",
                                "video23d",
                                "video2audio",
                                "video2img",
                                "video2txt",
                                "video2video",
                                "voice-clone"
                              ],
                              "type": "string"
                            },
                            "verticalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Vertical expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "width": {
                              "default": 1536,
                              "description": "The width of the rendered image.",
                              "maximum": 2048,
                              "minimum": 1024,
                              "type": "number"
                            }
                          },
                          "required": [
                            "kind",
                            "type"
                          ],
                          "type": "object"
                        },
                        "mimeType": {
                          "description": "The mime type of the asset (example: \"image/png\")",
                          "type": "string"
                        },
                        "nsfw": {
                          "description": "The NSFW labels",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "originalFileUrl": {
                          "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                          "type": "string"
                        },
                        "originalMimeType": {
                          "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                          "enum": [
                            "application/gzip",
                            "application/json",
                            "application/octet-stream",
                            "application/pdf",
                            "application/safetensors",
                            "application/vnd.autodesk.fbx",
                            "application/x-authorware-bin",
                            "application/x-zip-compressed",
                            "application/x.autodesk.fbx",
                            "application/zip",
                            "audio/flac",
                            "audio/m4a",
                            "audio/mpeg",
                            "audio/ogg",
                            "audio/wav",
                            "image/aces",
                            "image/avif",
                            "image/bmp",
                            "image/gif",
                            "image/heic",
                            "image/jpeg",
                            "image/png",
                            "image/svg+xml",
                            "image/tiff",
                            "image/vnd.radiance",
                            "image/webp",
                            "image/x-exr",
                            "model/glb",
                            "model/gltf+json",
                            "model/gltf-binary",
                            "model/ksplat",
                            "model/mtl",
                            "model/obj",
                            "model/ply",
                            "model/sog",
                            "model/splat",
                            "model/spz",
                            "model/stl",
                            "model/vnd.collada+xml",
                            "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                            "model/vnd.usdz+zip",
                            "model/x-3d-vox",
                            "model/x-blender",
                            "model/x-fbx",
                            "model/x-maya-ascii",
                            "model/x-maya-binary",
                            "model/x-vsplat",
                            "model/x3d+xml",
                            "text/plain",
                            "video/mp4",
                            "video/quicktime",
                            "video/webm"
                          ],
                          "type": "string"
                        },
                        "outputIndex": {
                          "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                          "type": "number"
                        },
                        "ownerId": {
                          "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                          "type": "string"
                        },
                        "preview": {
                          "additionalProperties": false,
                          "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "description": "The privacy of the asset",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "properties": {
                          "additionalProperties": false,
                          "description": "The properties of the asset, content may depend on the kind of asset returned",
                          "properties": {
                            "animationFrameCount": {
                              "description": "Number of animation frames if animations exist",
                              "type": "number"
                            },
                            "bitrate": {
                              "description": "Bitrate of the media in bits per second",
                              "type": "number"
                            },
                            "boneCount": {
                              "description": "Number of bones if skeleton exists",
                              "type": "number"
                            },
                            "cameraMode": {
                              "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "enum": [
                                "aerial",
                                "interior",
                                "turntable"
                              ],
                              "type": "string"
                            },
                            "cameraTrajectory": {
                              "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "items": {
                                "additionalProperties": false,
                                "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                "properties": {
                                  "fov": {
                                    "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                    "type": "number"
                                  },
                                  "position": {
                                    "description": "Camera eye position in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "target": {
                                    "description": "Look-at point in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "position",
                                  "target"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "channels": {
                              "description": "Number of channels of the audio",
                              "type": "number"
                            },
                            "charCount": {
                              "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                              "type": "number"
                            },
                            "classification": {
                              "description": "Classification of the audio",
                              "enum": [
                                "effect",
                                "interview",
                                "music",
                                "other",
                                "sound",
                                "speech",
                                "text",
                                "unknown"
                              ],
                              "type": "string"
                            },
                            "codecName": {
                              "description": "Codec name of the media",
                              "type": "string"
                            },
                            "description": {
                              "description": "Description of the audio",
                              "type": "string"
                            },
                            "dimensions": {
                              "description": "Bounding box dimensions [width, height, depth]",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "duration": {
                              "description": "Duration of the media in seconds",
                              "type": "number"
                            },
                            "faceCount": {
                              "description": "Number of faces/triangles in the mesh",
                              "type": "number"
                            },
                            "format": {
                              "description": "Format of the mesh file (e.g. 'glb', etc.)",
                              "type": "string"
                            },
                            "frameRate": {
                              "description": "Frame rate of the video in frames per second",
                              "type": "number"
                            },
                            "hasAnimations": {
                              "description": "Whether the mesh has animations",
                              "type": "boolean"
                            },
                            "hasFullPreview": {
                              "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                              "type": "boolean"
                            },
                            "hasNormals": {
                              "description": "Whether the mesh has normal vectors",
                              "type": "boolean"
                            },
                            "hasSkeleton": {
                              "description": "Whether the mesh has bones/skeleton",
                              "type": "boolean"
                            },
                            "hasUVs": {
                              "description": "Whether the mesh has UV coordinates",
                              "type": "boolean"
                            },
                            "height": {
                              "type": "number"
                            },
                            "nbFrames": {
                              "description": "Number of frames in the video",
                              "type": "number"
                            },
                            "preview": {
                              "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                              "type": "string"
                            },
                            "sampleRate": {
                              "description": "Sample rate of the media in Hz",
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "transcription": {
                              "additionalProperties": false,
                              "description": "Transcription of the audio",
                              "properties": {
                                "text": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text"
                              ],
                              "type": "object"
                            },
                            "vertexCount": {
                              "description": "Number of vertices in the mesh",
                              "type": "number"
                            },
                            "width": {
                              "type": "number"
                            },
                            "wordCount": {
                              "description": "Number of whitespace-separated words in the text",
                              "type": "number"
                            }
                          },
                          "required": [
                            "size"
                          ],
                          "type": "object"
                        },
                        "qualityGate": {
                          "additionalProperties": false,
                          "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                          "properties": {
                            "aiQualityScore": {
                              "description": "Generic AI-quality sub-score",
                              "type": "number"
                            },
                            "appliedBriefIds": {
                              "description": "Ids of briefs that contributed",
                              "items": {
                                "description": "Opaque identifier for a brief, derived from its scope.",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "briefComplianceScore": {
                              "description": "Brief-compliance sub-score (omitted when no brief applied)",
                              "type": "number"
                            },
                            "computedAt": {
                              "description": "ISO-8601 timestamp of when scoring ran",
                              "type": "string"
                            },
                            "details": {
                              "additionalProperties": false,
                              "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                              "properties": {
                                "aiQuality": {
                                  "additionalProperties": false,
                                  "description": "Always-on generic AI-quality dimension",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                },
                                "briefCompliance": {
                                  "additionalProperties": false,
                                  "description": "Brief-compliance dimension; omitted when no brief applied",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                }
                              },
                              "required": [
                                "aiQuality"
                              ],
                              "type": "object"
                            },
                            "error": {
                              "description": "Error message when status is 'error' (truncated)",
                              "type": "string"
                            },
                            "overallScore": {
                              "description": "0–100 composite score (present when status is 'scored')",
                              "type": "number"
                            },
                            "sensitivity": {
                              "description": "Sensitivity used for the verdict",
                              "enum": [
                                "high",
                                "low",
                                "medium"
                              ],
                              "type": "string"
                            },
                            "status": {
                              "description": "Whether scoring succeeded or errored",
                              "enum": [
                                "error",
                                "scored"
                              ],
                              "type": "string"
                            },
                            "verdict": {
                              "description": "pass / warn / fail (present when status is 'scored')",
                              "enum": [
                                "fail",
                                "pass",
                                "warn"
                              ],
                              "type": "string"
                            },
                            "version": {
                              "description": "Rubric/model version that produced this result",
                              "type": "string"
                            }
                          },
                          "required": [
                            "computedAt",
                            "status",
                            "version"
                          ],
                          "type": "object"
                        },
                        "source": {
                          "description": "source of the asset",
                          "enum": [
                            "3d23d",
                            "3d23d:texture",
                            "3d:texture",
                            "3d:texture:albedo",
                            "3d:texture:metallic",
                            "3d:texture:mtl",
                            "3d:texture:normal",
                            "3d:texture:roughness",
                            "audio2audio",
                            "audio2txt",
                            "audio2video",
                            "background-removal",
                            "canvas",
                            "canvas-drawing",
                            "canvas-export",
                            "detection",
                            "generative-fill",
                            "image-prompt-editing",
                            "img23d",
                            "img2img",
                            "img2splat",
                            "img2txt",
                            "img2video",
                            "inference-control-net",
                            "inference-control-net-img",
                            "inference-control-net-inpainting",
                            "inference-control-net-inpainting-ip-adapter",
                            "inference-control-net-ip-adapter",
                            "inference-control-net-reference",
                            "inference-control-net-texture",
                            "inference-img",
                            "inference-img-ip-adapter",
                            "inference-img-texture",
                            "inference-in-paint",
                            "inference-in-paint-ip-adapter",
                            "inference-reference",
                            "inference-reference-texture",
                            "inference-txt",
                            "inference-txt-ip-adapter",
                            "inference-txt-texture",
                            "patch",
                            "pixelization",
                            "reframe",
                            "restyle",
                            "segment",
                            "segmentation-image",
                            "segmentation-mask",
                            "skybox-3d",
                            "skybox-base-360",
                            "skybox-hdri",
                            "texture",
                            "texture:albedo",
                            "texture:ao",
                            "texture:edge",
                            "texture:height",
                            "texture:metallic",
                            "texture:normal",
                            "texture:smoothness",
                            "txt23d",
                            "txt2audio",
                            "txt2img",
                            "txt2txt",
                            "txt2video",
                            "unknown",
                            "uploaded",
                            "uploaded-3d",
                            "uploaded-audio",
                            "uploaded-avatar",
                            "uploaded-text",
                            "uploaded-video",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "upscale-video",
                            "vectorization",
                            "video23d",
                            "video2audio",
                            "video2img",
                            "video2txt",
                            "video2video",
                            "voice-clone"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The actual status",
                          "enum": [
                            "error",
                            "pending",
                            "success"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "url": {
                          "description": "Signed URL to get the asset content",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "collectionIds",
                        "createdAt",
                        "editCapabilities",
                        "id",
                        "kind",
                        "metadata",
                        "mimeType",
                        "ownerId",
                        "privacy",
                        "properties",
                        "source",
                        "status",
                        "tags",
                        "updatedAt",
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "asset"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "lockId": {
                    "type": "string",
                    "description": "The value of the lock on this canvas."
                  },
                  "forceUnlock": {
                    "type": "boolean",
                    "description": "If true, no need to pass a lockId."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/assets/{assetId}/snapshots": {
      "get": {
        "operationId": "GetCanvasAssetSnapshots",
        "description": "List snapshots of a canvas type asset",
        "tags": [
          "Assets"
        ],
        "parameters": [
          {
            "name": "assetId",
            "in": "path",
            "required": true,
            "description": "The ID of the canvas asset to list snapshots for",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "The number of items to return in the response. The default value is 10, maximum value is 100, minimum value is 10",
            "schema": {
              "type": "integer",
              "minimum": 10,
              "maximum": 100,
              "default": 10
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "required": false,
            "description": "A token you received in a previous request to query the next page of items",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "snapshots": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "authorId": {
                            "type": "string"
                          },
                          "hash": {
                            "type": "string"
                          },
                          "rawData": {
                            "type": "string"
                          },
                          "takenAt": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "authorId",
                          "hash",
                          "rawData",
                          "takenAt"
                        ],
                        "type": "object"
                      }
                    },
                    "nextPaginationToken": {
                      "type": "string",
                      "description": "A token to query the next page of snapshots"
                    }
                  },
                  "required": [
                    "snapshots"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/assets/{assetId}/download": {
      "post": {
        "operationId": "PostDownloadAsset",
        "description": "Request a link to download the given `assetId` in the given `targetFormat`",
        "tags": [
          "Assets"
        ],
        "parameters": [
          {
            "name": "assetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "description": "The signed URL to download the asset in the requested format, or its original file when `targetFormat` is omitted",
                      "type": "string"
                    },
                    "mimeType": {
                      "description": "Mime type of the file served at `url`",
                      "type": "string"
                    }
                  },
                  "required": [
                    "url"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "targetFormat": {
                    "type": "string",
                    "description": "The format to download the asset in. If omitted, the original file is returned. Audio and video assets only accept their stored format.",
                    "enum": [
                      "gif",
                      "heif",
                      "jpeg",
                      "jpg",
                      "png",
                      "svg",
                      "webp",
                      "avif",
                      "tif",
                      "tiff",
                      "glb",
                      "fbx",
                      "obj",
                      "mp3",
                      "mp4"
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/assets/download/{jobId}": {
      "get": {
        "operationId": "GetDownloadAssets",
        "description": "Retrieve the status and the url of a batch download assets request",
        "tags": [
          "Assets"
        ],
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "description": "The job ID to retrieve the download request",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jobId": {
                      "description": "The job id associated with the download request",
                      "type": "string"
                    },
                    "jobStatus": {
                      "description": "The current job status",
                      "type": "string"
                    },
                    "downloadUrl": {
                      "description": "The download url",
                      "type": "string"
                    }
                  },
                  "required": [
                    "jobId",
                    "jobStatus"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/assets/download": {
      "post": {
        "operationId": "PostDownloadAssets",
        "description": "Request a link to batch download assets (batch limited to 1000 assets)",
        "tags": [
          "Assets"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jobId": {
                      "description": "The job id associated with the download request",
                      "type": "string"
                    }
                  },
                  "required": [
                    "jobId"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "query": {
                    "additionalProperties": false,
                    "properties": {
                      "assetIds": {
                        "description": "Every individual assets specified will be included in the archive",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "inferenceIds": {
                        "description": "All assets issued from the provided inference ids will be included in the archive",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "modelIds": {
                        "description": "All assets issued from the provided model ids will be included in the archive",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      }
                    },
                    "required": [
                      "assetIds",
                      "inferenceIds",
                      "modelIds"
                    ],
                    "type": "object"
                  },
                  "options": {
                    "additionalProperties": false,
                    "properties": {
                      "archiveName": {
                        "description": "Name of the downloaded zip file, without the `.zip` extension.\nDefaults to `<YYYYMMDD>-export`.",
                        "maxLength": 128,
                        "type": "string"
                      },
                      "fileNameTemplate": {
                        "description": "A file naming convention as a string with the following available parameters:\n<seed> (seed used to generate the asset)\n<num> (index of the asset in the inference)\n<prompt> (slug of the inference prompt: lower-cased, function words removed, max 8 words, joined with `_`)\n<generator> (name of the generator)\n<id> (asset id)\n<description> (slug of the asset description or caption: lower-cased, function words removed, max 8 words, joined with `_`. Does not fall back to the prompt.)\nA `/` in the template creates a subdirectory (e.g. `<prompt>/<id>` → `cat_dancing/asset_….png`).\nLater occurrences of the same dynamic token are dropped together with their preceding separator.\nThe filename, including the extension, is capped at 128 characters; each template directory segment is capped at 64. Prompt and description are truncated first.\nExample: \"<description>-<id>\"",
                        "type": "string"
                      },
                      "flat": {
                        "description": "Flag to prevent grouping assets in directories and store them flat",
                        "type": "boolean"
                      },
                      "preferOriginal": {
                        "description": "Flag to archive the file as it was originally uploaded, for assets whose\nupload was re-encoded on creation (e.g. a .mov stored as mp4). Each\narchived file is named with the extension of the format it contains.\n\nAssets that have no preserved original (every image, and anything uploaded\nin a format we serve as-is) are archived unchanged, so this is a preference\nand never fails a download.",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "fileNameTemplate"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "query",
                  "options"
                ]
              }
            }
          }
        }
      }
    },
    "/assets/get-bulk": {
      "post": {
        "operationId": "PostAssetGetBulk",
        "description": "Get multiple assets by their IDs",
        "tags": [
          "Assets"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "assets": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "authorId": {
                            "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                            "type": "string"
                          },
                          "automaticCaptioning": {
                            "description": "Automatic captioning of the asset",
                            "type": "string"
                          },
                          "collectionIds": {
                            "description": "A list of CollectionId this asset belongs to",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "createdAt": {
                            "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "deletedAt": {
                            "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                            "type": "string"
                          },
                          "description": {
                            "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                            "type": "string"
                          },
                          "editCapabilities": {
                            "description": "List of edit capabilities",
                            "items": {
                              "enum": [
                                "DETECTION",
                                "GENERATIVE_FILL",
                                "PIXELATE",
                                "PROMPT_EDITING",
                                "REFINE",
                                "REFRAME",
                                "REMOVE_BACKGROUND",
                                "SEGMENTATION",
                                "UPSCALE",
                                "UPSCALE_360",
                                "VECTORIZATION"
                              ],
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "embedding": {
                            "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                            "items": {
                              "type": "number"
                            },
                            "type": "array"
                          },
                          "firstFrame": {
                            "additionalProperties": false,
                            "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                            "properties": {
                              "assetId": {
                                "type": "string"
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "id": {
                            "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                            "type": "string"
                          },
                          "isHidden": {
                            "description": "Whether the asset is hidden.",
                            "type": "boolean"
                          },
                          "kind": {
                            "description": "The kind of asset",
                            "enum": [
                              "3d",
                              "audio",
                              "document",
                              "image",
                              "image-hdr",
                              "json",
                              "text",
                              "video"
                            ],
                            "type": "string"
                          },
                          "lastFrame": {
                            "additionalProperties": false,
                            "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                            "properties": {
                              "assetId": {
                                "type": "string"
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "metadata": {
                            "additionalProperties": false,
                            "description": "Metadata of the asset with some additional information",
                            "properties": {
                              "angular": {
                                "default": 0.5,
                                "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "aspectRatio": {
                                "description": "The optional aspect ratio given for the generation, only applicable for some models",
                                "type": "string"
                              },
                              "backgroundOpacity": {
                                "default": 0,
                                "maximum": 255,
                                "minimum": 0,
                                "type": "number"
                              },
                              "baseModelId": {
                                "description": "The baseModelId that maybe changed at inference time",
                                "type": "string"
                              },
                              "bbox": {
                                "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                                "items": {
                                  "type": "number"
                                },
                                "maxItems": 4,
                                "minItems": 4,
                                "type": "array"
                              },
                              "betterQuality": {
                                "default": false,
                                "type": "boolean"
                              },
                              "cannyStructureImage": {
                                "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                                "type": "string"
                              },
                              "clustering": {
                                "default": false,
                                "description": "Activate clustering.",
                                "type": "boolean"
                              },
                              "colorCorrection": {
                                "default": true,
                                "description": "Ensure upscaled tile have the same color histogram as original tile.",
                                "type": "boolean"
                              },
                              "colorMode": {
                                "type": "string"
                              },
                              "colorPrecision": {
                                "type": "number"
                              },
                              "concepts": {
                                "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "modelEpoch": {
                                      "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                      "type": "string"
                                    },
                                    "modelId": {
                                      "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                      "type": "string"
                                    },
                                    "scale": {
                                      "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                      "maximum": 2,
                                      "minimum": -2,
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "modelId",
                                    "scale"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "contours": {
                                "items": {
                                  "items": {
                                    "items": {
                                      "items": {
                                        "type": "number"
                                      },
                                      "type": "array"
                                    },
                                    "type": "array"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "controlEnd": {
                                "description": "End step for control.",
                                "type": "number"
                              },
                              "copiedAt": {
                                "description": "The date when the asset was copied to a project",
                                "type": "string"
                              },
                              "cornerThreshold": {
                                "type": "number"
                              },
                              "creativity": {
                                "default": 35,
                                "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "creativityDecay": {
                                "default": 80,
                                "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "defaultParameters": {
                                "default": false,
                                "description": "If true, use the default parameters",
                                "type": "boolean"
                              },
                              "depthFidelity": {
                                "default": 90,
                                "description": "The depth fidelity if a depth image provided",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "depthImage": {
                                "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                                "type": "string"
                              },
                              "detailsLevel": {
                                "default": 0,
                                "description": "Amount of details to remove or add",
                                "maximum": 50,
                                "minimum": -50,
                                "type": "number"
                              },
                              "dilate": {
                                "default": 0,
                                "maximum": 30,
                                "minimum": 0,
                                "type": "number"
                              },
                              "factor": {
                                "default": 5,
                                "description": "Contrast factor for Grayscale detector",
                                "type": "number"
                              },
                              "fileName": {
                                "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                                "type": "string"
                              },
                              "filterSpeckle": {
                                "type": "number"
                              },
                              "fractality": {
                                "default": 40,
                                "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "geometryEnforcement": {
                                "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "guidance": {
                                "description": "The guidance used to generate this asset",
                                "type": "number"
                              },
                              "halfMode": {
                                "type": "boolean"
                              },
                              "hdr": {
                                "type": "number"
                              },
                              "height": {
                                "type": "number"
                              },
                              "highThreshold": {
                                "default": 200,
                                "description": "High threshold for Canny detector",
                                "type": "number"
                              },
                              "horizontalExpansionRatio": {
                                "default": 1,
                                "description": "(deprecated) Horizontal expansion ratio.",
                                "maximum": 2,
                                "minimum": 1,
                                "type": "number"
                              },
                              "image": {
                                "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                                "type": "string"
                              },
                              "imageFidelity": {
                                "default": 50,
                                "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "imageType": {
                                "default": "seamfull",
                                "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                                "enum": [
                                  "seamfull",
                                  "skybox",
                                  "texture"
                                ],
                                "type": "string"
                              },
                              "inferenceId": {
                                "description": "The id of the Inference describing how this image was generated",
                                "type": "string"
                              },
                              "inputFidelity": {
                                "default": "low",
                                "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                                "enum": [
                                  "high",
                                  "low"
                                ],
                                "type": "string"
                              },
                              "inputLocation": {
                                "default": "middle",
                                "description": "Location of the input image in the output.",
                                "enum": [
                                  "bottom",
                                  "left",
                                  "middle",
                                  "right",
                                  "top"
                                ],
                                "type": "string"
                              },
                              "invert": {
                                "default": false,
                                "description": "To invert the relief",
                                "type": "boolean"
                              },
                              "keepsFileNames": {
                                "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                                "type": "boolean"
                              },
                              "keypointThreshold": {
                                "default": 0.3,
                                "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "kind": {
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "layerDifference": {
                                "type": "number"
                              },
                              "lengthThreshold": {
                                "type": "number"
                              },
                              "lockExpiresAt": {
                                "description": "The ISO timestamp when the lock on the canvas will expire",
                                "type": "string"
                              },
                              "lowThreshold": {
                                "default": 100,
                                "description": "Low threshold for Canny detector",
                                "type": "number"
                              },
                              "mask": {
                                "description": "The mask used for the asset generation or editing",
                                "type": "string"
                              },
                              "maxIterations": {
                                "type": "number"
                              },
                              "maxThreshold": {
                                "default": 90,
                                "description": "Maximum threshold for Grayscale conversion",
                                "type": "number"
                              },
                              "minThreshold": {
                                "default": 10,
                                "description": "Minimum threshold for Grayscale conversion",
                                "type": "number"
                              },
                              "modality": {
                                "default": "canny",
                                "description": "Modality to detect",
                                "enum": [
                                  "canny",
                                  "depth",
                                  "grayscale",
                                  "lineart_anime",
                                  "mlsd",
                                  "normal",
                                  "pose",
                                  "scribble",
                                  "segmentation",
                                  "sketch"
                                ],
                                "type": "string"
                              },
                              "mode": {
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The modelId used to generate this asset",
                                "type": "string"
                              },
                              "modelType": {
                                "description": "The type of the generator used",
                                "enum": [
                                  "custom",
                                  "elevenlabs-voice",
                                  "flux.1",
                                  "flux.1-composition",
                                  "flux.1-kontext-dev",
                                  "flux.1-kontext-lora",
                                  "flux.1-krea-dev",
                                  "flux.1-krea-lora",
                                  "flux.1-lora",
                                  "flux.1-pro",
                                  "flux.1.1-pro-ultra",
                                  "flux.2-dev-edit-lora",
                                  "flux.2-dev-lora",
                                  "flux.2-klein-4b-edit-lora",
                                  "flux.2-klein-4b-lora",
                                  "flux.2-klein-9b-edit-lora",
                                  "flux.2-klein-9b-lora",
                                  "flux.2-klein-base-4b-edit-lora",
                                  "flux.2-klein-base-4b-lora",
                                  "flux.2-klein-base-9b-edit-lora",
                                  "flux.2-klein-base-9b-lora",
                                  "flux1.1-pro",
                                  "gpt-image-1",
                                  "qwen-image-2512-lora",
                                  "qwen-image-edit-2509-lora",
                                  "qwen-image-edit-2511-lora",
                                  "qwen-image-edit-lora",
                                  "qwen-image-lora",
                                  "zimage-de-turbo-lora",
                                  "zimage-lora",
                                  "zimage-turbo-lora"
                                ],
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "nbMasks": {
                                "type": "number"
                              },
                              "negativePrompt": {
                                "description": "The negative prompt used to generate this asset",
                                "type": "string"
                              },
                              "negativePromptStrength": {
                                "default": 0,
                                "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                                "maximum": 10,
                                "minimum": 0,
                                "type": "number"
                              },
                              "numInferenceSteps": {
                                "default": 10,
                                "description": "The number of denoising steps for each image generation.",
                                "maximum": 50,
                                "minimum": 5,
                                "type": "number"
                              },
                              "numOutputs": {
                                "default": 4,
                                "description": "The number of outputs to generate.",
                                "maximum": 8,
                                "minimum": 1,
                                "type": "number"
                              },
                              "originalAssetId": {
                                "type": "string"
                              },
                              "outputIndex": {
                                "type": "number"
                              },
                              "overlapPercentage": {
                                "default": 0.08,
                                "description": "Overlap percentage for the output image.",
                                "maximum": 0.5,
                                "minimum": 0,
                                "type": "number"
                              },
                              "overrideEmbeddings": {
                                "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                                "type": "boolean"
                              },
                              "parentId": {
                                "type": "string"
                              },
                              "parentJobId": {
                                "type": "string"
                              },
                              "pathPrecision": {
                                "type": "number"
                              },
                              "points": {
                                "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                                "items": {
                                  "items": {
                                    "type": "number"
                                  },
                                  "type": "array"
                                },
                                "maxItems": 3,
                                "minItems": 3,
                                "type": "array"
                              },
                              "polished": {
                                "default": 0.5,
                                "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "preset": {
                                "type": "string"
                              },
                              "progressPercent": {
                                "type": "number"
                              },
                              "prompt": {
                                "description": "The prompt that guided the asset generation or editing",
                                "type": "string"
                              },
                              "promptFidelity": {
                                "default": 50,
                                "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "raised": {
                                "default": 0.5,
                                "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "referenceImages": {
                                "description": "The reference images used for the asset generation or editing",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "refinementSteps": {
                                "default": 0,
                                "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                                "maximum": 4,
                                "minimum": 0,
                                "type": "number"
                              },
                              "removeBackground": {
                                "default": true,
                                "description": "Remove background for Grayscale detector",
                                "type": "boolean"
                              },
                              "resizeOption": {
                                "default": 1,
                                "description": "Size proportion of the input image in the output.",
                                "maximum": 1,
                                "minimum": 0.1,
                                "type": "number"
                              },
                              "resultContours": {
                                "default": false,
                                "description": "Boolean to output the contours.",
                                "type": "boolean"
                              },
                              "resultImage": {
                                "default": false,
                                "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                                "type": "boolean"
                              },
                              "resultMask": {
                                "default": true,
                                "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                                "type": "boolean"
                              },
                              "rootParentId": {
                                "type": "string"
                              },
                              "saveFlipbook": {
                                "default": true,
                                "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                                "type": "boolean"
                              },
                              "scalingFactor": {
                                "default": 2,
                                "description": "Scaling factor (when `targetWidth` not specified)",
                                "maximum": 16,
                                "minimum": 1,
                                "type": "number"
                              },
                              "scheduler": {
                                "description": "The scheduler used to generate this asset",
                                "type": "string"
                              },
                              "seed": {
                                "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                                "type": "string"
                              },
                              "sharpen": {
                                "default": false,
                                "description": "Sharpen tiles.",
                                "type": "boolean"
                              },
                              "shiny": {
                                "default": 0.5,
                                "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "size": {
                                "type": "number"
                              },
                              "sketch": {
                                "default": false,
                                "description": "Activate sketch detection instead of canny.",
                                "type": "boolean"
                              },
                              "sourceProjectId": {
                                "type": "string"
                              },
                              "spliceThreshold": {
                                "type": "number"
                              },
                              "strength": {
                                "default": 1,
                                "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                                "type": "number"
                              },
                              "structureFidelity": {
                                "default": 35,
                                "description": "Strength for the input image structure preservation",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "structureImage": {
                                "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                                "type": "string"
                              },
                              "style": {
                                "enum": [
                                  "3d-cartoon",
                                  "3d-rendered",
                                  "anime",
                                  "cartoon",
                                  "cinematic",
                                  "claymation",
                                  "cloud-skydome",
                                  "comic",
                                  "cyberpunk",
                                  "enchanted",
                                  "fantasy",
                                  "ink",
                                  "manga",
                                  "manga-color",
                                  "minimalist",
                                  "neon-tron",
                                  "oil-painting",
                                  "pastel",
                                  "photo",
                                  "photography",
                                  "psychedelic",
                                  "retro-fantasy",
                                  "scifi-concept-art",
                                  "space",
                                  "standard",
                                  "whimsical"
                                ],
                                "type": "string"
                              },
                              "styleFidelity": {
                                "default": 20,
                                "description": "The higher the value the more it will look like the style image(s)",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "styleImages": {
                                "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                                "items": {
                                  "type": "string"
                                },
                                "maxItems": 10,
                                "type": "array"
                              },
                              "styleImagesFidelity": {
                                "default": 17,
                                "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "targetHeight": {
                                "default": 1024,
                                "description": "The target height of the output image.",
                                "maximum": 2048,
                                "minimum": 0,
                                "type": "number"
                              },
                              "targetWidth": {
                                "description": "Target width for the upscaled image, take priority over scaling factor",
                                "maximum": 16000,
                                "minimum": 1024,
                                "type": "number"
                              },
                              "text": {
                                "description": "A textual description / keywords describing the object of interest.",
                                "maxLength": 100,
                                "type": "string"
                              },
                              "texture": {
                                "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                                "type": "string"
                              },
                              "thumbnail": {
                                "additionalProperties": false,
                                "description": "The thumbnail of the canvas",
                                "properties": {
                                  "assetId": {
                                    "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "The url of the image used as a thumbnail for the canvas",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "assetId",
                                  "url"
                                ],
                                "type": "object"
                              },
                              "tileStyle": {
                                "default": false,
                                "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                                "type": "boolean"
                              },
                              "trainingImage": {
                                "type": "boolean"
                              },
                              "type": {
                                "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                                "enum": [
                                  "3d-texture",
                                  "3d-texture-albedo",
                                  "3d-texture-metallic",
                                  "3d-texture-mtl",
                                  "3d-texture-normal",
                                  "3d-texture-roughness",
                                  "3d23d",
                                  "3d23d-texture",
                                  "audio2audio",
                                  "audio2txt",
                                  "audio2video",
                                  "background-removal",
                                  "canvas",
                                  "canvas-drawing",
                                  "canvas-export",
                                  "detection",
                                  "generative-fill",
                                  "image-prompt-editing",
                                  "img23d",
                                  "img2img",
                                  "img2splat",
                                  "img2txt",
                                  "img2video",
                                  "inference-controlnet",
                                  "inference-controlnet-img2img",
                                  "inference-controlnet-inpaint",
                                  "inference-controlnet-inpaint-ip-adapter",
                                  "inference-controlnet-ip-adapter",
                                  "inference-controlnet-reference",
                                  "inference-controlnet-texture",
                                  "inference-img2img",
                                  "inference-img2img-ip-adapter",
                                  "inference-img2img-texture",
                                  "inference-inpaint",
                                  "inference-inpaint-ip-adapter",
                                  "inference-reference",
                                  "inference-reference-texture",
                                  "inference-txt2img",
                                  "inference-txt2img-ip-adapter",
                                  "inference-txt2img-texture",
                                  "patch",
                                  "pixelization",
                                  "reframe",
                                  "restyle",
                                  "segment",
                                  "segmentation-image",
                                  "segmentation-mask",
                                  "skybox-3d",
                                  "skybox-base-360",
                                  "skybox-hdri",
                                  "texture",
                                  "texture-albedo",
                                  "texture-ao",
                                  "texture-edge",
                                  "texture-height",
                                  "texture-metallic",
                                  "texture-normal",
                                  "texture-smoothness",
                                  "txt23d",
                                  "txt2audio",
                                  "txt2img",
                                  "txt2txt",
                                  "txt2video",
                                  "unknown",
                                  "uploaded",
                                  "uploaded-3d",
                                  "uploaded-audio",
                                  "uploaded-avatar",
                                  "uploaded-text",
                                  "uploaded-video",
                                  "upscale",
                                  "upscale-skybox",
                                  "upscale-texture",
                                  "upscale-video",
                                  "vectorization",
                                  "video23d",
                                  "video2audio",
                                  "video2img",
                                  "video2txt",
                                  "video2video",
                                  "voice-clone"
                                ],
                                "type": "string"
                              },
                              "verticalExpansionRatio": {
                                "default": 1,
                                "description": "(deprecated) Vertical expansion ratio.",
                                "maximum": 2,
                                "minimum": 1,
                                "type": "number"
                              },
                              "width": {
                                "default": 1536,
                                "description": "The width of the rendered image.",
                                "maximum": 2048,
                                "minimum": 1024,
                                "type": "number"
                              }
                            },
                            "required": [
                              "kind",
                              "type"
                            ],
                            "type": "object"
                          },
                          "mimeType": {
                            "description": "The mime type of the asset (example: \"image/png\")",
                            "type": "string"
                          },
                          "nsfw": {
                            "description": "The NSFW labels",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "originalFileUrl": {
                            "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                            "type": "string"
                          },
                          "originalMimeType": {
                            "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                            "enum": [
                              "application/gzip",
                              "application/json",
                              "application/octet-stream",
                              "application/pdf",
                              "application/safetensors",
                              "application/vnd.autodesk.fbx",
                              "application/x-authorware-bin",
                              "application/x-zip-compressed",
                              "application/x.autodesk.fbx",
                              "application/zip",
                              "audio/flac",
                              "audio/m4a",
                              "audio/mpeg",
                              "audio/ogg",
                              "audio/wav",
                              "image/aces",
                              "image/avif",
                              "image/bmp",
                              "image/gif",
                              "image/heic",
                              "image/jpeg",
                              "image/png",
                              "image/svg+xml",
                              "image/tiff",
                              "image/vnd.radiance",
                              "image/webp",
                              "image/x-exr",
                              "model/glb",
                              "model/gltf+json",
                              "model/gltf-binary",
                              "model/ksplat",
                              "model/mtl",
                              "model/obj",
                              "model/ply",
                              "model/sog",
                              "model/splat",
                              "model/spz",
                              "model/stl",
                              "model/vnd.collada+xml",
                              "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                              "model/vnd.usdz+zip",
                              "model/x-3d-vox",
                              "model/x-blender",
                              "model/x-fbx",
                              "model/x-maya-ascii",
                              "model/x-maya-binary",
                              "model/x-vsplat",
                              "model/x3d+xml",
                              "text/plain",
                              "video/mp4",
                              "video/quicktime",
                              "video/webm"
                            ],
                            "type": "string"
                          },
                          "outputIndex": {
                            "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                            "type": "number"
                          },
                          "ownerId": {
                            "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                            "type": "string"
                          },
                          "preview": {
                            "additionalProperties": false,
                            "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                            "properties": {
                              "assetId": {
                                "type": "string"
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "privacy": {
                            "description": "The privacy of the asset",
                            "enum": [
                              "private",
                              "public",
                              "unlisted"
                            ],
                            "type": "string"
                          },
                          "properties": {
                            "additionalProperties": false,
                            "description": "The properties of the asset, content may depend on the kind of asset returned",
                            "properties": {
                              "animationFrameCount": {
                                "description": "Number of animation frames if animations exist",
                                "type": "number"
                              },
                              "bitrate": {
                                "description": "Bitrate of the media in bits per second",
                                "type": "number"
                              },
                              "boneCount": {
                                "description": "Number of bones if skeleton exists",
                                "type": "number"
                              },
                              "cameraMode": {
                                "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                                "enum": [
                                  "aerial",
                                  "interior",
                                  "turntable"
                                ],
                                "type": "string"
                              },
                              "cameraTrajectory": {
                                "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                  "properties": {
                                    "fov": {
                                      "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                      "type": "number"
                                    },
                                    "position": {
                                      "description": "Camera eye position in the splat's world frame.",
                                      "items": {
                                        "type": "number"
                                      },
                                      "maxItems": 3,
                                      "minItems": 3,
                                      "type": "array"
                                    },
                                    "target": {
                                      "description": "Look-at point in the splat's world frame.",
                                      "items": {
                                        "type": "number"
                                      },
                                      "maxItems": 3,
                                      "minItems": 3,
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "position",
                                    "target"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "channels": {
                                "description": "Number of channels of the audio",
                                "type": "number"
                              },
                              "charCount": {
                                "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                                "type": "number"
                              },
                              "classification": {
                                "description": "Classification of the audio",
                                "enum": [
                                  "effect",
                                  "interview",
                                  "music",
                                  "other",
                                  "sound",
                                  "speech",
                                  "text",
                                  "unknown"
                                ],
                                "type": "string"
                              },
                              "codecName": {
                                "description": "Codec name of the media",
                                "type": "string"
                              },
                              "description": {
                                "description": "Description of the audio",
                                "type": "string"
                              },
                              "dimensions": {
                                "description": "Bounding box dimensions [width, height, depth]",
                                "items": {
                                  "type": "number"
                                },
                                "maxItems": 3,
                                "minItems": 3,
                                "type": "array"
                              },
                              "duration": {
                                "description": "Duration of the media in seconds",
                                "type": "number"
                              },
                              "faceCount": {
                                "description": "Number of faces/triangles in the mesh",
                                "type": "number"
                              },
                              "format": {
                                "description": "Format of the mesh file (e.g. 'glb', etc.)",
                                "type": "string"
                              },
                              "frameRate": {
                                "description": "Frame rate of the video in frames per second",
                                "type": "number"
                              },
                              "hasAnimations": {
                                "description": "Whether the mesh has animations",
                                "type": "boolean"
                              },
                              "hasFullPreview": {
                                "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                                "type": "boolean"
                              },
                              "hasNormals": {
                                "description": "Whether the mesh has normal vectors",
                                "type": "boolean"
                              },
                              "hasSkeleton": {
                                "description": "Whether the mesh has bones/skeleton",
                                "type": "boolean"
                              },
                              "hasUVs": {
                                "description": "Whether the mesh has UV coordinates",
                                "type": "boolean"
                              },
                              "height": {
                                "type": "number"
                              },
                              "nbFrames": {
                                "description": "Number of frames in the video",
                                "type": "number"
                              },
                              "preview": {
                                "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                                "type": "string"
                              },
                              "sampleRate": {
                                "description": "Sample rate of the media in Hz",
                                "type": "number"
                              },
                              "size": {
                                "type": "number"
                              },
                              "transcription": {
                                "additionalProperties": false,
                                "description": "Transcription of the audio",
                                "properties": {
                                  "text": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "text"
                                ],
                                "type": "object"
                              },
                              "vertexCount": {
                                "description": "Number of vertices in the mesh",
                                "type": "number"
                              },
                              "width": {
                                "type": "number"
                              },
                              "wordCount": {
                                "description": "Number of whitespace-separated words in the text",
                                "type": "number"
                              }
                            },
                            "required": [
                              "size"
                            ],
                            "type": "object"
                          },
                          "qualityGate": {
                            "additionalProperties": false,
                            "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                            "properties": {
                              "aiQualityScore": {
                                "description": "Generic AI-quality sub-score",
                                "type": "number"
                              },
                              "appliedBriefIds": {
                                "description": "Ids of briefs that contributed",
                                "items": {
                                  "description": "Opaque identifier for a brief, derived from its scope.",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "briefComplianceScore": {
                                "description": "Brief-compliance sub-score (omitted when no brief applied)",
                                "type": "number"
                              },
                              "computedAt": {
                                "description": "ISO-8601 timestamp of when scoring ran",
                                "type": "string"
                              },
                              "details": {
                                "additionalProperties": false,
                                "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                                "properties": {
                                  "aiQuality": {
                                    "additionalProperties": false,
                                    "description": "Always-on generic AI-quality dimension",
                                    "properties": {
                                      "reasons": {
                                        "description": "Why the image scored as it did",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array"
                                      },
                                      "score": {
                                        "description": "0–100; higher is better (more compliant / less AI-looking)",
                                        "type": "number"
                                      },
                                      "suggestions": {
                                        "description": "Actionable suggestions to improve the score",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array"
                                      }
                                    },
                                    "required": [
                                      "reasons",
                                      "score",
                                      "suggestions"
                                    ],
                                    "type": "object"
                                  },
                                  "briefCompliance": {
                                    "additionalProperties": false,
                                    "description": "Brief-compliance dimension; omitted when no brief applied",
                                    "properties": {
                                      "reasons": {
                                        "description": "Why the image scored as it did",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array"
                                      },
                                      "score": {
                                        "description": "0–100; higher is better (more compliant / less AI-looking)",
                                        "type": "number"
                                      },
                                      "suggestions": {
                                        "description": "Actionable suggestions to improve the score",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array"
                                      }
                                    },
                                    "required": [
                                      "reasons",
                                      "score",
                                      "suggestions"
                                    ],
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "aiQuality"
                                ],
                                "type": "object"
                              },
                              "error": {
                                "description": "Error message when status is 'error' (truncated)",
                                "type": "string"
                              },
                              "overallScore": {
                                "description": "0–100 composite score (present when status is 'scored')",
                                "type": "number"
                              },
                              "sensitivity": {
                                "description": "Sensitivity used for the verdict",
                                "enum": [
                                  "high",
                                  "low",
                                  "medium"
                                ],
                                "type": "string"
                              },
                              "status": {
                                "description": "Whether scoring succeeded or errored",
                                "enum": [
                                  "error",
                                  "scored"
                                ],
                                "type": "string"
                              },
                              "verdict": {
                                "description": "pass / warn / fail (present when status is 'scored')",
                                "enum": [
                                  "fail",
                                  "pass",
                                  "warn"
                                ],
                                "type": "string"
                              },
                              "version": {
                                "description": "Rubric/model version that produced this result",
                                "type": "string"
                              }
                            },
                            "required": [
                              "computedAt",
                              "status",
                              "version"
                            ],
                            "type": "object"
                          },
                          "source": {
                            "description": "source of the asset",
                            "enum": [
                              "3d23d",
                              "3d23d:texture",
                              "3d:texture",
                              "3d:texture:albedo",
                              "3d:texture:metallic",
                              "3d:texture:mtl",
                              "3d:texture:normal",
                              "3d:texture:roughness",
                              "audio2audio",
                              "audio2txt",
                              "audio2video",
                              "background-removal",
                              "canvas",
                              "canvas-drawing",
                              "canvas-export",
                              "detection",
                              "generative-fill",
                              "image-prompt-editing",
                              "img23d",
                              "img2img",
                              "img2splat",
                              "img2txt",
                              "img2video",
                              "inference-control-net",
                              "inference-control-net-img",
                              "inference-control-net-inpainting",
                              "inference-control-net-inpainting-ip-adapter",
                              "inference-control-net-ip-adapter",
                              "inference-control-net-reference",
                              "inference-control-net-texture",
                              "inference-img",
                              "inference-img-ip-adapter",
                              "inference-img-texture",
                              "inference-in-paint",
                              "inference-in-paint-ip-adapter",
                              "inference-reference",
                              "inference-reference-texture",
                              "inference-txt",
                              "inference-txt-ip-adapter",
                              "inference-txt-texture",
                              "patch",
                              "pixelization",
                              "reframe",
                              "restyle",
                              "segment",
                              "segmentation-image",
                              "segmentation-mask",
                              "skybox-3d",
                              "skybox-base-360",
                              "skybox-hdri",
                              "texture",
                              "texture:albedo",
                              "texture:ao",
                              "texture:edge",
                              "texture:height",
                              "texture:metallic",
                              "texture:normal",
                              "texture:smoothness",
                              "txt23d",
                              "txt2audio",
                              "txt2img",
                              "txt2txt",
                              "txt2video",
                              "unknown",
                              "uploaded",
                              "uploaded-3d",
                              "uploaded-audio",
                              "uploaded-avatar",
                              "uploaded-text",
                              "uploaded-video",
                              "upscale",
                              "upscale-skybox",
                              "upscale-texture",
                              "upscale-video",
                              "vectorization",
                              "video23d",
                              "video2audio",
                              "video2img",
                              "video2txt",
                              "video2video",
                              "voice-clone"
                            ],
                            "type": "string"
                          },
                          "status": {
                            "description": "The actual status",
                            "enum": [
                              "error",
                              "pending",
                              "success"
                            ],
                            "type": "string"
                          },
                          "tags": {
                            "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "thumbnail": {
                            "additionalProperties": false,
                            "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                            "properties": {
                              "assetId": {
                                "type": "string"
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "updatedAt": {
                            "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "url": {
                            "description": "Signed URL to get the asset content",
                            "type": "string"
                          }
                        },
                        "required": [
                          "authorId",
                          "collectionIds",
                          "createdAt",
                          "editCapabilities",
                          "id",
                          "kind",
                          "metadata",
                          "mimeType",
                          "ownerId",
                          "privacy",
                          "properties",
                          "source",
                          "status",
                          "tags",
                          "updatedAt",
                          "url"
                        ],
                        "type": "object"
                      }
                    }
                  },
                  "required": [
                    "assets"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "assetIds": {
                    "type": "array",
                    "description": "The list of asset ids the team has read access to. Limit of 200 assets.",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/assets/public": {
      "get": {
        "operationId": "GetPublicAssets",
        "description": "List all public assets. @deprecated Use GET /assets with Authorization: public-auth-token header instead.",
        "tags": [
          "Assets"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "modelId",
            "in": "query",
            "required": false,
            "description": "List assets generated from all inferences coming from a specific model (this is not the training images)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "description": "List of tags, comma separated. Only for public assets on all teams.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "List all the assets of a specific type. The parameter \"type\" and \"types\" cannot be used together. Can be any of the following values: inference-txt2img, inference-txt2img-ip-adapter, inference-txt2img-texture, inference-img2img, inference-img2img-ip-adapter, inference-img2img-texture, inference-inpaint, inference-inpaint-ip-adapter, inference-reference, inference-reference-texture, inference-controlnet, inference-controlnet-ip-adapter, inference-controlnet-img2img, inference-controlnet-reference, inference-controlnet-inpaint, inference-controlnet-inpaint-ip-adapter, inference-controlnet-texture, background-removal, canvas, canvas-export, canvas-drawing, detection, patch, pixelization, upscale, upscale-texture, upscale-skybox, vectorization, segment, segmentation-image, segmentation-mask, skybox-base-360, skybox-hdri, skybox-3d, restyle, reframe, generative-fill, texture, texture-height, texture-normal, texture-smoothness, texture-metallic, texture-edge, texture-ao, texture-albedo, image-prompt-editing, unknown, img23d, txt23d, video23d, 3d23d, img2splat, 3d23d-texture, 3d-texture, 3d-texture-mtl, 3d-texture-albedo, 3d-texture-normal, 3d-texture-roughness, 3d-texture-metallic, img2video, txt2audio, audio2audio, audio2video, video2audio, voice-clone, video2video, video2img, txt2img, img2img, txt2video, uploaded, uploaded-video, uploaded-audio, uploaded-3d, uploaded-avatar, upscale-video, uploaded-text, audio2txt, txt2txt, img2txt, video2txt, assets with a type starting with \"inference-\" will be returned",
            "schema": {
              "type": "string",
              "enum": [
                "inference-txt2img",
                "inference-txt2img-ip-adapter",
                "inference-txt2img-texture",
                "inference-img2img",
                "inference-img2img-ip-adapter",
                "inference-img2img-texture",
                "inference-inpaint",
                "inference-inpaint-ip-adapter",
                "inference-reference",
                "inference-reference-texture",
                "inference-controlnet",
                "inference-controlnet-ip-adapter",
                "inference-controlnet-img2img",
                "inference-controlnet-reference",
                "inference-controlnet-inpaint",
                "inference-controlnet-inpaint-ip-adapter",
                "inference-controlnet-texture",
                "background-removal",
                "canvas",
                "canvas-export",
                "canvas-drawing",
                "detection",
                "patch",
                "pixelization",
                "upscale",
                "upscale-texture",
                "upscale-skybox",
                "vectorization",
                "segment",
                "segmentation-image",
                "segmentation-mask",
                "skybox-base-360",
                "skybox-hdri",
                "skybox-3d",
                "restyle",
                "reframe",
                "generative-fill",
                "texture",
                "texture-height",
                "texture-normal",
                "texture-smoothness",
                "texture-metallic",
                "texture-edge",
                "texture-ao",
                "texture-albedo",
                "image-prompt-editing",
                "unknown",
                "img23d",
                "txt23d",
                "video23d",
                "3d23d",
                "img2splat",
                "3d23d-texture",
                "3d-texture",
                "3d-texture-mtl",
                "3d-texture-albedo",
                "3d-texture-normal",
                "3d-texture-roughness",
                "3d-texture-metallic",
                "img2video",
                "txt2audio",
                "audio2audio",
                "audio2video",
                "video2audio",
                "voice-clone",
                "video2video",
                "video2img",
                "txt2img",
                "img2img",
                "txt2video",
                "uploaded",
                "uploaded-video",
                "uploaded-audio",
                "uploaded-3d",
                "uploaded-avatar",
                "upscale-video",
                "uploaded-text",
                "audio2txt",
                "txt2txt",
                "img2txt",
                "video2txt"
              ]
            }
          },
          {
            "name": "types",
            "in": "query",
            "required": false,
            "description": "List of the asset types to request. The parameter \"type\" and \"types\" cannot be used together. Can be any of the following values: inference-txt2img, inference-txt2img-ip-adapter, inference-txt2img-texture, inference-img2img, inference-img2img-ip-adapter, inference-img2img-texture, inference-inpaint, inference-inpaint-ip-adapter, inference-reference, inference-reference-texture, inference-controlnet, inference-controlnet-ip-adapter, inference-controlnet-img2img, inference-controlnet-reference, inference-controlnet-inpaint, inference-controlnet-inpaint-ip-adapter, inference-controlnet-texture, background-removal, canvas, canvas-export, canvas-drawing, detection, patch, pixelization, upscale, upscale-texture, upscale-skybox, vectorization, segment, segmentation-image, segmentation-mask, skybox-base-360, skybox-hdri, skybox-3d, restyle, reframe, generative-fill, texture, texture-height, texture-normal, texture-smoothness, texture-metallic, texture-edge, texture-ao, texture-albedo, image-prompt-editing, unknown, img23d, txt23d, video23d, 3d23d, img2splat, 3d23d-texture, 3d-texture, 3d-texture-mtl, 3d-texture-albedo, 3d-texture-normal, 3d-texture-roughness, 3d-texture-metallic, img2video, txt2audio, audio2audio, audio2video, video2audio, voice-clone, video2video, video2img, txt2img, img2img, txt2video, uploaded, uploaded-video, uploaded-audio, uploaded-3d, uploaded-avatar, upscale-video, uploaded-text, audio2txt, txt2txt, img2txt, video2txt",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdBefore",
            "in": "query",
            "required": false,
            "description": "Filter results to only return assets created before the specified ISO string date (exclusive). Requires the sortBy parameter to be \"createdAt\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdAfter",
            "in": "query",
            "required": false,
            "description": "Filter results to only return assets created after the specified ISO string date (exclusive). Requires the sortBy parameter to be \"createdAt\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updatedBefore",
            "in": "query",
            "required": false,
            "description": "Filter results to only return assets updated before the specified ISO string date (exclusive). Requires the sortBy parameter to be \"updatedAt\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updatedAfter",
            "in": "query",
            "required": false,
            "description": "Filter results to only return assets updated after the specified ISO string date (exclusive). Requires the sortBy parameter to be \"updatedAt\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "required": false,
            "description": "Sort results by the createdAt or updatedAt",
            "schema": {
              "type": "string",
              "default": "createdAt"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Sort results in ascending (asc) or descending (desc) order",
            "schema": {
              "type": "string",
              "default": "desc"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "The number of items to return in the response. The default value is 50, maximum value is 100, minimum value is 1",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 50
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "required": false,
            "description": "A token you received in a previous request to query the next page of items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "assets": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "authorId": {
                            "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                            "type": "string"
                          },
                          "automaticCaptioning": {
                            "description": "Automatic captioning of the asset",
                            "type": "string"
                          },
                          "collectionIds": {
                            "description": "A list of CollectionId this asset belongs to",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "createdAt": {
                            "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "deletedAt": {
                            "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                            "type": "string"
                          },
                          "description": {
                            "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                            "type": "string"
                          },
                          "editCapabilities": {
                            "description": "List of edit capabilities",
                            "items": {
                              "enum": [
                                "DETECTION",
                                "GENERATIVE_FILL",
                                "PIXELATE",
                                "PROMPT_EDITING",
                                "REFINE",
                                "REFRAME",
                                "REMOVE_BACKGROUND",
                                "SEGMENTATION",
                                "UPSCALE",
                                "UPSCALE_360",
                                "VECTORIZATION"
                              ],
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "embedding": {
                            "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                            "items": {
                              "type": "number"
                            },
                            "type": "array"
                          },
                          "firstFrame": {
                            "additionalProperties": false,
                            "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                            "properties": {
                              "assetId": {
                                "type": "string"
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "id": {
                            "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                            "type": "string"
                          },
                          "isHidden": {
                            "description": "Whether the asset is hidden.",
                            "type": "boolean"
                          },
                          "kind": {
                            "description": "The kind of asset",
                            "enum": [
                              "3d",
                              "audio",
                              "document",
                              "image",
                              "image-hdr",
                              "json",
                              "text",
                              "video"
                            ],
                            "type": "string"
                          },
                          "lastFrame": {
                            "additionalProperties": false,
                            "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                            "properties": {
                              "assetId": {
                                "type": "string"
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "metadata": {
                            "additionalProperties": false,
                            "description": "Metadata of the asset with some additional information",
                            "properties": {
                              "angular": {
                                "default": 0.5,
                                "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "aspectRatio": {
                                "description": "The optional aspect ratio given for the generation, only applicable for some models",
                                "type": "string"
                              },
                              "backgroundOpacity": {
                                "default": 0,
                                "maximum": 255,
                                "minimum": 0,
                                "type": "number"
                              },
                              "baseModelId": {
                                "description": "The baseModelId that maybe changed at inference time",
                                "type": "string"
                              },
                              "bbox": {
                                "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                                "items": {
                                  "type": "number"
                                },
                                "maxItems": 4,
                                "minItems": 4,
                                "type": "array"
                              },
                              "betterQuality": {
                                "default": false,
                                "type": "boolean"
                              },
                              "cannyStructureImage": {
                                "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                                "type": "string"
                              },
                              "clustering": {
                                "default": false,
                                "description": "Activate clustering.",
                                "type": "boolean"
                              },
                              "colorCorrection": {
                                "default": true,
                                "description": "Ensure upscaled tile have the same color histogram as original tile.",
                                "type": "boolean"
                              },
                              "colorMode": {
                                "type": "string"
                              },
                              "colorPrecision": {
                                "type": "number"
                              },
                              "concepts": {
                                "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "modelEpoch": {
                                      "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                      "type": "string"
                                    },
                                    "modelId": {
                                      "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                      "type": "string"
                                    },
                                    "scale": {
                                      "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                      "maximum": 2,
                                      "minimum": -2,
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "modelId",
                                    "scale"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "contours": {
                                "items": {
                                  "items": {
                                    "items": {
                                      "items": {
                                        "type": "number"
                                      },
                                      "type": "array"
                                    },
                                    "type": "array"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "controlEnd": {
                                "description": "End step for control.",
                                "type": "number"
                              },
                              "copiedAt": {
                                "description": "The date when the asset was copied to a project",
                                "type": "string"
                              },
                              "cornerThreshold": {
                                "type": "number"
                              },
                              "creativity": {
                                "default": 35,
                                "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "creativityDecay": {
                                "default": 80,
                                "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "defaultParameters": {
                                "default": false,
                                "description": "If true, use the default parameters",
                                "type": "boolean"
                              },
                              "depthFidelity": {
                                "default": 90,
                                "description": "The depth fidelity if a depth image provided",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "depthImage": {
                                "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                                "type": "string"
                              },
                              "detailsLevel": {
                                "default": 0,
                                "description": "Amount of details to remove or add",
                                "maximum": 50,
                                "minimum": -50,
                                "type": "number"
                              },
                              "dilate": {
                                "default": 0,
                                "maximum": 30,
                                "minimum": 0,
                                "type": "number"
                              },
                              "factor": {
                                "default": 5,
                                "description": "Contrast factor for Grayscale detector",
                                "type": "number"
                              },
                              "fileName": {
                                "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                                "type": "string"
                              },
                              "filterSpeckle": {
                                "type": "number"
                              },
                              "fractality": {
                                "default": 40,
                                "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "geometryEnforcement": {
                                "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "guidance": {
                                "description": "The guidance used to generate this asset",
                                "type": "number"
                              },
                              "halfMode": {
                                "type": "boolean"
                              },
                              "hdr": {
                                "type": "number"
                              },
                              "height": {
                                "type": "number"
                              },
                              "highThreshold": {
                                "default": 200,
                                "description": "High threshold for Canny detector",
                                "type": "number"
                              },
                              "horizontalExpansionRatio": {
                                "default": 1,
                                "description": "(deprecated) Horizontal expansion ratio.",
                                "maximum": 2,
                                "minimum": 1,
                                "type": "number"
                              },
                              "image": {
                                "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                                "type": "string"
                              },
                              "imageFidelity": {
                                "default": 50,
                                "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "imageType": {
                                "default": "seamfull",
                                "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                                "enum": [
                                  "seamfull",
                                  "skybox",
                                  "texture"
                                ],
                                "type": "string"
                              },
                              "inferenceId": {
                                "description": "The id of the Inference describing how this image was generated",
                                "type": "string"
                              },
                              "inputFidelity": {
                                "default": "low",
                                "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                                "enum": [
                                  "high",
                                  "low"
                                ],
                                "type": "string"
                              },
                              "inputLocation": {
                                "default": "middle",
                                "description": "Location of the input image in the output.",
                                "enum": [
                                  "bottom",
                                  "left",
                                  "middle",
                                  "right",
                                  "top"
                                ],
                                "type": "string"
                              },
                              "invert": {
                                "default": false,
                                "description": "To invert the relief",
                                "type": "boolean"
                              },
                              "keepsFileNames": {
                                "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                                "type": "boolean"
                              },
                              "keypointThreshold": {
                                "default": 0.3,
                                "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "kind": {
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "layerDifference": {
                                "type": "number"
                              },
                              "lengthThreshold": {
                                "type": "number"
                              },
                              "lockExpiresAt": {
                                "description": "The ISO timestamp when the lock on the canvas will expire",
                                "type": "string"
                              },
                              "lowThreshold": {
                                "default": 100,
                                "description": "Low threshold for Canny detector",
                                "type": "number"
                              },
                              "mask": {
                                "description": "The mask used for the asset generation or editing",
                                "type": "string"
                              },
                              "maxIterations": {
                                "type": "number"
                              },
                              "maxThreshold": {
                                "default": 90,
                                "description": "Maximum threshold for Grayscale conversion",
                                "type": "number"
                              },
                              "minThreshold": {
                                "default": 10,
                                "description": "Minimum threshold for Grayscale conversion",
                                "type": "number"
                              },
                              "modality": {
                                "default": "canny",
                                "description": "Modality to detect",
                                "enum": [
                                  "canny",
                                  "depth",
                                  "grayscale",
                                  "lineart_anime",
                                  "mlsd",
                                  "normal",
                                  "pose",
                                  "scribble",
                                  "segmentation",
                                  "sketch"
                                ],
                                "type": "string"
                              },
                              "mode": {
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The modelId used to generate this asset",
                                "type": "string"
                              },
                              "modelType": {
                                "description": "The type of the generator used",
                                "enum": [
                                  "custom",
                                  "elevenlabs-voice",
                                  "flux.1",
                                  "flux.1-composition",
                                  "flux.1-kontext-dev",
                                  "flux.1-kontext-lora",
                                  "flux.1-krea-dev",
                                  "flux.1-krea-lora",
                                  "flux.1-lora",
                                  "flux.1-pro",
                                  "flux.1.1-pro-ultra",
                                  "flux.2-dev-edit-lora",
                                  "flux.2-dev-lora",
                                  "flux.2-klein-4b-edit-lora",
                                  "flux.2-klein-4b-lora",
                                  "flux.2-klein-9b-edit-lora",
                                  "flux.2-klein-9b-lora",
                                  "flux.2-klein-base-4b-edit-lora",
                                  "flux.2-klein-base-4b-lora",
                                  "flux.2-klein-base-9b-edit-lora",
                                  "flux.2-klein-base-9b-lora",
                                  "flux1.1-pro",
                                  "gpt-image-1",
                                  "qwen-image-2512-lora",
                                  "qwen-image-edit-2509-lora",
                                  "qwen-image-edit-2511-lora",
                                  "qwen-image-edit-lora",
                                  "qwen-image-lora",
                                  "zimage-de-turbo-lora",
                                  "zimage-lora",
                                  "zimage-turbo-lora"
                                ],
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "nbMasks": {
                                "type": "number"
                              },
                              "negativePrompt": {
                                "description": "The negative prompt used to generate this asset",
                                "type": "string"
                              },
                              "negativePromptStrength": {
                                "default": 0,
                                "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                                "maximum": 10,
                                "minimum": 0,
                                "type": "number"
                              },
                              "numInferenceSteps": {
                                "default": 10,
                                "description": "The number of denoising steps for each image generation.",
                                "maximum": 50,
                                "minimum": 5,
                                "type": "number"
                              },
                              "numOutputs": {
                                "default": 4,
                                "description": "The number of outputs to generate.",
                                "maximum": 8,
                                "minimum": 1,
                                "type": "number"
                              },
                              "originalAssetId": {
                                "type": "string"
                              },
                              "outputIndex": {
                                "type": "number"
                              },
                              "overlapPercentage": {
                                "default": 0.08,
                                "description": "Overlap percentage for the output image.",
                                "maximum": 0.5,
                                "minimum": 0,
                                "type": "number"
                              },
                              "overrideEmbeddings": {
                                "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                                "type": "boolean"
                              },
                              "parentId": {
                                "type": "string"
                              },
                              "parentJobId": {
                                "type": "string"
                              },
                              "pathPrecision": {
                                "type": "number"
                              },
                              "points": {
                                "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                                "items": {
                                  "items": {
                                    "type": "number"
                                  },
                                  "type": "array"
                                },
                                "maxItems": 3,
                                "minItems": 3,
                                "type": "array"
                              },
                              "polished": {
                                "default": 0.5,
                                "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "preset": {
                                "type": "string"
                              },
                              "progressPercent": {
                                "type": "number"
                              },
                              "prompt": {
                                "description": "The prompt that guided the asset generation or editing",
                                "type": "string"
                              },
                              "promptFidelity": {
                                "default": 50,
                                "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "raised": {
                                "default": 0.5,
                                "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "referenceImages": {
                                "description": "The reference images used for the asset generation or editing",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "refinementSteps": {
                                "default": 0,
                                "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                                "maximum": 4,
                                "minimum": 0,
                                "type": "number"
                              },
                              "removeBackground": {
                                "default": true,
                                "description": "Remove background for Grayscale detector",
                                "type": "boolean"
                              },
                              "resizeOption": {
                                "default": 1,
                                "description": "Size proportion of the input image in the output.",
                                "maximum": 1,
                                "minimum": 0.1,
                                "type": "number"
                              },
                              "resultContours": {
                                "default": false,
                                "description": "Boolean to output the contours.",
                                "type": "boolean"
                              },
                              "resultImage": {
                                "default": false,
                                "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                                "type": "boolean"
                              },
                              "resultMask": {
                                "default": true,
                                "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                                "type": "boolean"
                              },
                              "rootParentId": {
                                "type": "string"
                              },
                              "saveFlipbook": {
                                "default": true,
                                "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                                "type": "boolean"
                              },
                              "scalingFactor": {
                                "default": 2,
                                "description": "Scaling factor (when `targetWidth` not specified)",
                                "maximum": 16,
                                "minimum": 1,
                                "type": "number"
                              },
                              "scheduler": {
                                "description": "The scheduler used to generate this asset",
                                "type": "string"
                              },
                              "seed": {
                                "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                                "type": "string"
                              },
                              "sharpen": {
                                "default": false,
                                "description": "Sharpen tiles.",
                                "type": "boolean"
                              },
                              "shiny": {
                                "default": 0.5,
                                "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "size": {
                                "type": "number"
                              },
                              "sketch": {
                                "default": false,
                                "description": "Activate sketch detection instead of canny.",
                                "type": "boolean"
                              },
                              "sourceProjectId": {
                                "type": "string"
                              },
                              "spliceThreshold": {
                                "type": "number"
                              },
                              "strength": {
                                "default": 1,
                                "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                                "type": "number"
                              },
                              "structureFidelity": {
                                "default": 35,
                                "description": "Strength for the input image structure preservation",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "structureImage": {
                                "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                                "type": "string"
                              },
                              "style": {
                                "enum": [
                                  "3d-cartoon",
                                  "3d-rendered",
                                  "anime",
                                  "cartoon",
                                  "cinematic",
                                  "claymation",
                                  "cloud-skydome",
                                  "comic",
                                  "cyberpunk",
                                  "enchanted",
                                  "fantasy",
                                  "ink",
                                  "manga",
                                  "manga-color",
                                  "minimalist",
                                  "neon-tron",
                                  "oil-painting",
                                  "pastel",
                                  "photo",
                                  "photography",
                                  "psychedelic",
                                  "retro-fantasy",
                                  "scifi-concept-art",
                                  "space",
                                  "standard",
                                  "whimsical"
                                ],
                                "type": "string"
                              },
                              "styleFidelity": {
                                "default": 20,
                                "description": "The higher the value the more it will look like the style image(s)",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "styleImages": {
                                "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                                "items": {
                                  "type": "string"
                                },
                                "maxItems": 10,
                                "type": "array"
                              },
                              "styleImagesFidelity": {
                                "default": 17,
                                "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                                "maximum": 100,
                                "minimum": 0,
                                "type": "number"
                              },
                              "targetHeight": {
                                "default": 1024,
                                "description": "The target height of the output image.",
                                "maximum": 2048,
                                "minimum": 0,
                                "type": "number"
                              },
                              "targetWidth": {
                                "description": "Target width for the upscaled image, take priority over scaling factor",
                                "maximum": 16000,
                                "minimum": 1024,
                                "type": "number"
                              },
                              "text": {
                                "description": "A textual description / keywords describing the object of interest.",
                                "maxLength": 100,
                                "type": "string"
                              },
                              "texture": {
                                "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                                "type": "string"
                              },
                              "thumbnail": {
                                "additionalProperties": false,
                                "description": "The thumbnail of the canvas",
                                "properties": {
                                  "assetId": {
                                    "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "The url of the image used as a thumbnail for the canvas",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "assetId",
                                  "url"
                                ],
                                "type": "object"
                              },
                              "tileStyle": {
                                "default": false,
                                "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                                "type": "boolean"
                              },
                              "trainingImage": {
                                "type": "boolean"
                              },
                              "type": {
                                "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                                "enum": [
                                  "3d-texture",
                                  "3d-texture-albedo",
                                  "3d-texture-metallic",
                                  "3d-texture-mtl",
                                  "3d-texture-normal",
                                  "3d-texture-roughness",
                                  "3d23d",
                                  "3d23d-texture",
                                  "audio2audio",
                                  "audio2txt",
                                  "audio2video",
                                  "background-removal",
                                  "canvas",
                                  "canvas-drawing",
                                  "canvas-export",
                                  "detection",
                                  "generative-fill",
                                  "image-prompt-editing",
                                  "img23d",
                                  "img2img",
                                  "img2splat",
                                  "img2txt",
                                  "img2video",
                                  "inference-controlnet",
                                  "inference-controlnet-img2img",
                                  "inference-controlnet-inpaint",
                                  "inference-controlnet-inpaint-ip-adapter",
                                  "inference-controlnet-ip-adapter",
                                  "inference-controlnet-reference",
                                  "inference-controlnet-texture",
                                  "inference-img2img",
                                  "inference-img2img-ip-adapter",
                                  "inference-img2img-texture",
                                  "inference-inpaint",
                                  "inference-inpaint-ip-adapter",
                                  "inference-reference",
                                  "inference-reference-texture",
                                  "inference-txt2img",
                                  "inference-txt2img-ip-adapter",
                                  "inference-txt2img-texture",
                                  "patch",
                                  "pixelization",
                                  "reframe",
                                  "restyle",
                                  "segment",
                                  "segmentation-image",
                                  "segmentation-mask",
                                  "skybox-3d",
                                  "skybox-base-360",
                                  "skybox-hdri",
                                  "texture",
                                  "texture-albedo",
                                  "texture-ao",
                                  "texture-edge",
                                  "texture-height",
                                  "texture-metallic",
                                  "texture-normal",
                                  "texture-smoothness",
                                  "txt23d",
                                  "txt2audio",
                                  "txt2img",
                                  "txt2txt",
                                  "txt2video",
                                  "unknown",
                                  "uploaded",
                                  "uploaded-3d",
                                  "uploaded-audio",
                                  "uploaded-avatar",
                                  "uploaded-text",
                                  "uploaded-video",
                                  "upscale",
                                  "upscale-skybox",
                                  "upscale-texture",
                                  "upscale-video",
                                  "vectorization",
                                  "video23d",
                                  "video2audio",
                                  "video2img",
                                  "video2txt",
                                  "video2video",
                                  "voice-clone"
                                ],
                                "type": "string"
                              },
                              "verticalExpansionRatio": {
                                "default": 1,
                                "description": "(deprecated) Vertical expansion ratio.",
                                "maximum": 2,
                                "minimum": 1,
                                "type": "number"
                              },
                              "width": {
                                "default": 1536,
                                "description": "The width of the rendered image.",
                                "maximum": 2048,
                                "minimum": 1024,
                                "type": "number"
                              }
                            },
                            "required": [
                              "kind",
                              "type"
                            ],
                            "type": "object"
                          },
                          "mimeType": {
                            "description": "The mime type of the asset (example: \"image/png\")",
                            "type": "string"
                          },
                          "nsfw": {
                            "description": "The NSFW labels",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "originalFileUrl": {
                            "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                            "type": "string"
                          },
                          "originalMimeType": {
                            "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                            "enum": [
                              "application/gzip",
                              "application/json",
                              "application/octet-stream",
                              "application/pdf",
                              "application/safetensors",
                              "application/vnd.autodesk.fbx",
                              "application/x-authorware-bin",
                              "application/x-zip-compressed",
                              "application/x.autodesk.fbx",
                              "application/zip",
                              "audio/flac",
                              "audio/m4a",
                              "audio/mpeg",
                              "audio/ogg",
                              "audio/wav",
                              "image/aces",
                              "image/avif",
                              "image/bmp",
                              "image/gif",
                              "image/heic",
                              "image/jpeg",
                              "image/png",
                              "image/svg+xml",
                              "image/tiff",
                              "image/vnd.radiance",
                              "image/webp",
                              "image/x-exr",
                              "model/glb",
                              "model/gltf+json",
                              "model/gltf-binary",
                              "model/ksplat",
                              "model/mtl",
                              "model/obj",
                              "model/ply",
                              "model/sog",
                              "model/splat",
                              "model/spz",
                              "model/stl",
                              "model/vnd.collada+xml",
                              "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                              "model/vnd.usdz+zip",
                              "model/x-3d-vox",
                              "model/x-blender",
                              "model/x-fbx",
                              "model/x-maya-ascii",
                              "model/x-maya-binary",
                              "model/x-vsplat",
                              "model/x3d+xml",
                              "text/plain",
                              "video/mp4",
                              "video/quicktime",
                              "video/webm"
                            ],
                            "type": "string"
                          },
                          "outputIndex": {
                            "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                            "type": "number"
                          },
                          "ownerId": {
                            "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                            "type": "string"
                          },
                          "preview": {
                            "additionalProperties": false,
                            "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                            "properties": {
                              "assetId": {
                                "type": "string"
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "privacy": {
                            "description": "The privacy of the asset",
                            "enum": [
                              "private",
                              "public",
                              "unlisted"
                            ],
                            "type": "string"
                          },
                          "properties": {
                            "additionalProperties": false,
                            "description": "The properties of the asset, content may depend on the kind of asset returned",
                            "properties": {
                              "animationFrameCount": {
                                "description": "Number of animation frames if animations exist",
                                "type": "number"
                              },
                              "bitrate": {
                                "description": "Bitrate of the media in bits per second",
                                "type": "number"
                              },
                              "boneCount": {
                                "description": "Number of bones if skeleton exists",
                                "type": "number"
                              },
                              "cameraMode": {
                                "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                                "enum": [
                                  "aerial",
                                  "interior",
                                  "turntable"
                                ],
                                "type": "string"
                              },
                              "cameraTrajectory": {
                                "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                  "properties": {
                                    "fov": {
                                      "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                      "type": "number"
                                    },
                                    "position": {
                                      "description": "Camera eye position in the splat's world frame.",
                                      "items": {
                                        "type": "number"
                                      },
                                      "maxItems": 3,
                                      "minItems": 3,
                                      "type": "array"
                                    },
                                    "target": {
                                      "description": "Look-at point in the splat's world frame.",
                                      "items": {
                                        "type": "number"
                                      },
                                      "maxItems": 3,
                                      "minItems": 3,
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "position",
                                    "target"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "channels": {
                                "description": "Number of channels of the audio",
                                "type": "number"
                              },
                              "charCount": {
                                "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                                "type": "number"
                              },
                              "classification": {
                                "description": "Classification of the audio",
                                "enum": [
                                  "effect",
                                  "interview",
                                  "music",
                                  "other",
                                  "sound",
                                  "speech",
                                  "text",
                                  "unknown"
                                ],
                                "type": "string"
                              },
                              "codecName": {
                                "description": "Codec name of the media",
                                "type": "string"
                              },
                              "description": {
                                "description": "Description of the audio",
                                "type": "string"
                              },
                              "dimensions": {
                                "description": "Bounding box dimensions [width, height, depth]",
                                "items": {
                                  "type": "number"
                                },
                                "maxItems": 3,
                                "minItems": 3,
                                "type": "array"
                              },
                              "duration": {
                                "description": "Duration of the media in seconds",
                                "type": "number"
                              },
                              "faceCount": {
                                "description": "Number of faces/triangles in the mesh",
                                "type": "number"
                              },
                              "format": {
                                "description": "Format of the mesh file (e.g. 'glb', etc.)",
                                "type": "string"
                              },
                              "frameRate": {
                                "description": "Frame rate of the video in frames per second",
                                "type": "number"
                              },
                              "hasAnimations": {
                                "description": "Whether the mesh has animations",
                                "type": "boolean"
                              },
                              "hasFullPreview": {
                                "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                                "type": "boolean"
                              },
                              "hasNormals": {
                                "description": "Whether the mesh has normal vectors",
                                "type": "boolean"
                              },
                              "hasSkeleton": {
                                "description": "Whether the mesh has bones/skeleton",
                                "type": "boolean"
                              },
                              "hasUVs": {
                                "description": "Whether the mesh has UV coordinates",
                                "type": "boolean"
                              },
                              "height": {
                                "type": "number"
                              },
                              "nbFrames": {
                                "description": "Number of frames in the video",
                                "type": "number"
                              },
                              "preview": {
                                "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                                "type": "string"
                              },
                              "sampleRate": {
                                "description": "Sample rate of the media in Hz",
                                "type": "number"
                              },
                              "size": {
                                "type": "number"
                              },
                              "transcription": {
                                "additionalProperties": false,
                                "description": "Transcription of the audio",
                                "properties": {
                                  "text": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "text"
                                ],
                                "type": "object"
                              },
                              "vertexCount": {
                                "description": "Number of vertices in the mesh",
                                "type": "number"
                              },
                              "width": {
                                "type": "number"
                              },
                              "wordCount": {
                                "description": "Number of whitespace-separated words in the text",
                                "type": "number"
                              }
                            },
                            "required": [
                              "size"
                            ],
                            "type": "object"
                          },
                          "qualityGate": {
                            "additionalProperties": false,
                            "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                            "properties": {
                              "aiQualityScore": {
                                "description": "Generic AI-quality sub-score",
                                "type": "number"
                              },
                              "appliedBriefIds": {
                                "description": "Ids of briefs that contributed",
                                "items": {
                                  "description": "Opaque identifier for a brief, derived from its scope.",
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "briefComplianceScore": {
                                "description": "Brief-compliance sub-score (omitted when no brief applied)",
                                "type": "number"
                              },
                              "computedAt": {
                                "description": "ISO-8601 timestamp of when scoring ran",
                                "type": "string"
                              },
                              "details": {
                                "additionalProperties": false,
                                "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                                "properties": {
                                  "aiQuality": {
                                    "additionalProperties": false,
                                    "description": "Always-on generic AI-quality dimension",
                                    "properties": {
                                      "reasons": {
                                        "description": "Why the image scored as it did",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array"
                                      },
                                      "score": {
                                        "description": "0–100; higher is better (more compliant / less AI-looking)",
                                        "type": "number"
                                      },
                                      "suggestions": {
                                        "description": "Actionable suggestions to improve the score",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array"
                                      }
                                    },
                                    "required": [
                                      "reasons",
                                      "score",
                                      "suggestions"
                                    ],
                                    "type": "object"
                                  },
                                  "briefCompliance": {
                                    "additionalProperties": false,
                                    "description": "Brief-compliance dimension; omitted when no brief applied",
                                    "properties": {
                                      "reasons": {
                                        "description": "Why the image scored as it did",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array"
                                      },
                                      "score": {
                                        "description": "0–100; higher is better (more compliant / less AI-looking)",
                                        "type": "number"
                                      },
                                      "suggestions": {
                                        "description": "Actionable suggestions to improve the score",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array"
                                      }
                                    },
                                    "required": [
                                      "reasons",
                                      "score",
                                      "suggestions"
                                    ],
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "aiQuality"
                                ],
                                "type": "object"
                              },
                              "error": {
                                "description": "Error message when status is 'error' (truncated)",
                                "type": "string"
                              },
                              "overallScore": {
                                "description": "0–100 composite score (present when status is 'scored')",
                                "type": "number"
                              },
                              "sensitivity": {
                                "description": "Sensitivity used for the verdict",
                                "enum": [
                                  "high",
                                  "low",
                                  "medium"
                                ],
                                "type": "string"
                              },
                              "status": {
                                "description": "Whether scoring succeeded or errored",
                                "enum": [
                                  "error",
                                  "scored"
                                ],
                                "type": "string"
                              },
                              "verdict": {
                                "description": "pass / warn / fail (present when status is 'scored')",
                                "enum": [
                                  "fail",
                                  "pass",
                                  "warn"
                                ],
                                "type": "string"
                              },
                              "version": {
                                "description": "Rubric/model version that produced this result",
                                "type": "string"
                              }
                            },
                            "required": [
                              "computedAt",
                              "status",
                              "version"
                            ],
                            "type": "object"
                          },
                          "source": {
                            "description": "source of the asset",
                            "enum": [
                              "3d23d",
                              "3d23d:texture",
                              "3d:texture",
                              "3d:texture:albedo",
                              "3d:texture:metallic",
                              "3d:texture:mtl",
                              "3d:texture:normal",
                              "3d:texture:roughness",
                              "audio2audio",
                              "audio2txt",
                              "audio2video",
                              "background-removal",
                              "canvas",
                              "canvas-drawing",
                              "canvas-export",
                              "detection",
                              "generative-fill",
                              "image-prompt-editing",
                              "img23d",
                              "img2img",
                              "img2splat",
                              "img2txt",
                              "img2video",
                              "inference-control-net",
                              "inference-control-net-img",
                              "inference-control-net-inpainting",
                              "inference-control-net-inpainting-ip-adapter",
                              "inference-control-net-ip-adapter",
                              "inference-control-net-reference",
                              "inference-control-net-texture",
                              "inference-img",
                              "inference-img-ip-adapter",
                              "inference-img-texture",
                              "inference-in-paint",
                              "inference-in-paint-ip-adapter",
                              "inference-reference",
                              "inference-reference-texture",
                              "inference-txt",
                              "inference-txt-ip-adapter",
                              "inference-txt-texture",
                              "patch",
                              "pixelization",
                              "reframe",
                              "restyle",
                              "segment",
                              "segmentation-image",
                              "segmentation-mask",
                              "skybox-3d",
                              "skybox-base-360",
                              "skybox-hdri",
                              "texture",
                              "texture:albedo",
                              "texture:ao",
                              "texture:edge",
                              "texture:height",
                              "texture:metallic",
                              "texture:normal",
                              "texture:smoothness",
                              "txt23d",
                              "txt2audio",
                              "txt2img",
                              "txt2txt",
                              "txt2video",
                              "unknown",
                              "uploaded",
                              "uploaded-3d",
                              "uploaded-audio",
                              "uploaded-avatar",
                              "uploaded-text",
                              "uploaded-video",
                              "upscale",
                              "upscale-skybox",
                              "upscale-texture",
                              "upscale-video",
                              "vectorization",
                              "video23d",
                              "video2audio",
                              "video2img",
                              "video2txt",
                              "video2video",
                              "voice-clone"
                            ],
                            "type": "string"
                          },
                          "status": {
                            "description": "The actual status",
                            "enum": [
                              "error",
                              "pending",
                              "success"
                            ],
                            "type": "string"
                          },
                          "tags": {
                            "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "thumbnail": {
                            "additionalProperties": false,
                            "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                            "properties": {
                              "assetId": {
                                "type": "string"
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "updatedAt": {
                            "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "url": {
                            "description": "Signed URL to get the asset content",
                            "type": "string"
                          }
                        },
                        "required": [
                          "authorId",
                          "collectionIds",
                          "createdAt",
                          "editCapabilities",
                          "id",
                          "kind",
                          "metadata",
                          "mimeType",
                          "ownerId",
                          "privacy",
                          "properties",
                          "source",
                          "status",
                          "tags",
                          "updatedAt",
                          "url"
                        ],
                        "type": "object"
                      }
                    },
                    "nextPaginationToken": {
                      "type": "string",
                      "description": "A token to query the next page of assets"
                    }
                  },
                  "required": [
                    "assets"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/assets/public/{assetId}": {
      "get": {
        "operationId": "GetPublicAssetsByAssetId",
        "description": "Get the details of an asset. @deprecated Use GET /assets/{assetId} with Authorization: public-auth-token header instead.",
        "tags": [
          "Assets"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "assetId",
            "in": "path",
            "required": true,
            "description": "The asset ID to retrieve",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "asset": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "automaticCaptioning": {
                          "description": "Automatic captioning of the asset",
                          "type": "string"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this asset belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                          "type": "string"
                        },
                        "description": {
                          "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                          "type": "string"
                        },
                        "editCapabilities": {
                          "description": "List of edit capabilities",
                          "items": {
                            "enum": [
                              "DETECTION",
                              "GENERATIVE_FILL",
                              "PIXELATE",
                              "PROMPT_EDITING",
                              "REFINE",
                              "REFRAME",
                              "REMOVE_BACKGROUND",
                              "SEGMENTATION",
                              "UPSCALE",
                              "UPSCALE_360",
                              "VECTORIZATION"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "embedding": {
                          "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                          "items": {
                            "type": "number"
                          },
                          "type": "array"
                        },
                        "firstFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "id": {
                          "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "isHidden": {
                          "description": "Whether the asset is hidden.",
                          "type": "boolean"
                        },
                        "kind": {
                          "description": "The kind of asset",
                          "enum": [
                            "3d",
                            "audio",
                            "document",
                            "image",
                            "image-hdr",
                            "json",
                            "text",
                            "video"
                          ],
                          "type": "string"
                        },
                        "lastFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the asset with some additional information",
                          "properties": {
                            "angular": {
                              "default": 0.5,
                              "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "aspectRatio": {
                              "description": "The optional aspect ratio given for the generation, only applicable for some models",
                              "type": "string"
                            },
                            "backgroundOpacity": {
                              "default": 0,
                              "maximum": 255,
                              "minimum": 0,
                              "type": "number"
                            },
                            "baseModelId": {
                              "description": "The baseModelId that maybe changed at inference time",
                              "type": "string"
                            },
                            "bbox": {
                              "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 4,
                              "minItems": 4,
                              "type": "array"
                            },
                            "betterQuality": {
                              "default": false,
                              "type": "boolean"
                            },
                            "cannyStructureImage": {
                              "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "clustering": {
                              "default": false,
                              "description": "Activate clustering.",
                              "type": "boolean"
                            },
                            "colorCorrection": {
                              "default": true,
                              "description": "Ensure upscaled tile have the same color histogram as original tile.",
                              "type": "boolean"
                            },
                            "colorMode": {
                              "type": "string"
                            },
                            "colorPrecision": {
                              "type": "number"
                            },
                            "concepts": {
                              "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "modelEpoch": {
                                    "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                    "type": "string"
                                  },
                                  "scale": {
                                    "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                    "maximum": 2,
                                    "minimum": -2,
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "modelId",
                                  "scale"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "contours": {
                              "items": {
                                "items": {
                                  "items": {
                                    "items": {
                                      "type": "number"
                                    },
                                    "type": "array"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "type": "array"
                            },
                            "controlEnd": {
                              "description": "End step for control.",
                              "type": "number"
                            },
                            "copiedAt": {
                              "description": "The date when the asset was copied to a project",
                              "type": "string"
                            },
                            "cornerThreshold": {
                              "type": "number"
                            },
                            "creativity": {
                              "default": 35,
                              "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "creativityDecay": {
                              "default": 80,
                              "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "defaultParameters": {
                              "default": false,
                              "description": "If true, use the default parameters",
                              "type": "boolean"
                            },
                            "depthFidelity": {
                              "default": 90,
                              "description": "The depth fidelity if a depth image provided",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "depthImage": {
                              "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "detailsLevel": {
                              "default": 0,
                              "description": "Amount of details to remove or add",
                              "maximum": 50,
                              "minimum": -50,
                              "type": "number"
                            },
                            "dilate": {
                              "default": 0,
                              "maximum": 30,
                              "minimum": 0,
                              "type": "number"
                            },
                            "factor": {
                              "default": 5,
                              "description": "Contrast factor for Grayscale detector",
                              "type": "number"
                            },
                            "fileName": {
                              "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                              "type": "string"
                            },
                            "filterSpeckle": {
                              "type": "number"
                            },
                            "fractality": {
                              "default": 40,
                              "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "geometryEnforcement": {
                              "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "guidance": {
                              "description": "The guidance used to generate this asset",
                              "type": "number"
                            },
                            "halfMode": {
                              "type": "boolean"
                            },
                            "hdr": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            },
                            "highThreshold": {
                              "default": 200,
                              "description": "High threshold for Canny detector",
                              "type": "number"
                            },
                            "horizontalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Horizontal expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "image": {
                              "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                              "type": "string"
                            },
                            "imageFidelity": {
                              "default": 50,
                              "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "imageType": {
                              "default": "seamfull",
                              "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                              "enum": [
                                "seamfull",
                                "skybox",
                                "texture"
                              ],
                              "type": "string"
                            },
                            "inferenceId": {
                              "description": "The id of the Inference describing how this image was generated",
                              "type": "string"
                            },
                            "inputFidelity": {
                              "default": "low",
                              "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                              "enum": [
                                "high",
                                "low"
                              ],
                              "type": "string"
                            },
                            "inputLocation": {
                              "default": "middle",
                              "description": "Location of the input image in the output.",
                              "enum": [
                                "bottom",
                                "left",
                                "middle",
                                "right",
                                "top"
                              ],
                              "type": "string"
                            },
                            "invert": {
                              "default": false,
                              "description": "To invert the relief",
                              "type": "boolean"
                            },
                            "keepsFileNames": {
                              "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                              "type": "boolean"
                            },
                            "keypointThreshold": {
                              "default": 0.3,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "kind": {
                              "enum": [
                                "3d",
                                "audio",
                                "document",
                                "image",
                                "image-hdr",
                                "json",
                                "text",
                                "video"
                              ],
                              "type": "string"
                            },
                            "layerDifference": {
                              "type": "number"
                            },
                            "lengthThreshold": {
                              "type": "number"
                            },
                            "lockExpiresAt": {
                              "description": "The ISO timestamp when the lock on the canvas will expire",
                              "type": "string"
                            },
                            "lowThreshold": {
                              "default": 100,
                              "description": "Low threshold for Canny detector",
                              "type": "number"
                            },
                            "mask": {
                              "description": "The mask used for the asset generation or editing",
                              "type": "string"
                            },
                            "maxIterations": {
                              "type": "number"
                            },
                            "maxThreshold": {
                              "default": 90,
                              "description": "Maximum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "minThreshold": {
                              "default": 10,
                              "description": "Minimum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "modality": {
                              "default": "canny",
                              "description": "Modality to detect",
                              "enum": [
                                "canny",
                                "depth",
                                "grayscale",
                                "lineart_anime",
                                "mlsd",
                                "normal",
                                "pose",
                                "scribble",
                                "segmentation",
                                "sketch"
                              ],
                              "type": "string"
                            },
                            "mode": {
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The modelId used to generate this asset",
                              "type": "string"
                            },
                            "modelType": {
                              "description": "The type of the generator used",
                              "enum": [
                                "custom",
                                "elevenlabs-voice",
                                "flux.1",
                                "flux.1-composition",
                                "flux.1-kontext-dev",
                                "flux.1-kontext-lora",
                                "flux.1-krea-dev",
                                "flux.1-krea-lora",
                                "flux.1-lora",
                                "flux.1-pro",
                                "flux.1.1-pro-ultra",
                                "flux.2-dev-edit-lora",
                                "flux.2-dev-lora",
                                "flux.2-klein-4b-edit-lora",
                                "flux.2-klein-4b-lora",
                                "flux.2-klein-9b-edit-lora",
                                "flux.2-klein-9b-lora",
                                "flux.2-klein-base-4b-edit-lora",
                                "flux.2-klein-base-4b-lora",
                                "flux.2-klein-base-9b-edit-lora",
                                "flux.2-klein-base-9b-lora",
                                "flux1.1-pro",
                                "gpt-image-1",
                                "qwen-image-2512-lora",
                                "qwen-image-edit-2509-lora",
                                "qwen-image-edit-2511-lora",
                                "qwen-image-edit-lora",
                                "qwen-image-lora",
                                "zimage-de-turbo-lora",
                                "zimage-lora",
                                "zimage-turbo-lora"
                              ],
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "nbMasks": {
                              "type": "number"
                            },
                            "negativePrompt": {
                              "description": "The negative prompt used to generate this asset",
                              "type": "string"
                            },
                            "negativePromptStrength": {
                              "default": 0,
                              "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                              "maximum": 10,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numInferenceSteps": {
                              "default": 10,
                              "description": "The number of denoising steps for each image generation.",
                              "maximum": 50,
                              "minimum": 5,
                              "type": "number"
                            },
                            "numOutputs": {
                              "default": 4,
                              "description": "The number of outputs to generate.",
                              "maximum": 8,
                              "minimum": 1,
                              "type": "number"
                            },
                            "originalAssetId": {
                              "type": "string"
                            },
                            "outputIndex": {
                              "type": "number"
                            },
                            "overlapPercentage": {
                              "default": 0.08,
                              "description": "Overlap percentage for the output image.",
                              "maximum": 0.5,
                              "minimum": 0,
                              "type": "number"
                            },
                            "overrideEmbeddings": {
                              "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                              "type": "boolean"
                            },
                            "parentId": {
                              "type": "string"
                            },
                            "parentJobId": {
                              "type": "string"
                            },
                            "pathPrecision": {
                              "type": "number"
                            },
                            "points": {
                              "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                              "items": {
                                "items": {
                                  "type": "number"
                                },
                                "type": "array"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "polished": {
                              "default": 0.5,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "preset": {
                              "type": "string"
                            },
                            "progressPercent": {
                              "type": "number"
                            },
                            "prompt": {
                              "description": "The prompt that guided the asset generation or editing",
                              "type": "string"
                            },
                            "promptFidelity": {
                              "default": 50,
                              "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "raised": {
                              "default": 0.5,
                              "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "referenceImages": {
                              "description": "The reference images used for the asset generation or editing",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "refinementSteps": {
                              "default": 0,
                              "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                              "maximum": 4,
                              "minimum": 0,
                              "type": "number"
                            },
                            "removeBackground": {
                              "default": true,
                              "description": "Remove background for Grayscale detector",
                              "type": "boolean"
                            },
                            "resizeOption": {
                              "default": 1,
                              "description": "Size proportion of the input image in the output.",
                              "maximum": 1,
                              "minimum": 0.1,
                              "type": "number"
                            },
                            "resultContours": {
                              "default": false,
                              "description": "Boolean to output the contours.",
                              "type": "boolean"
                            },
                            "resultImage": {
                              "default": false,
                              "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                              "type": "boolean"
                            },
                            "resultMask": {
                              "default": true,
                              "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                              "type": "boolean"
                            },
                            "rootParentId": {
                              "type": "string"
                            },
                            "saveFlipbook": {
                              "default": true,
                              "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                              "type": "boolean"
                            },
                            "scalingFactor": {
                              "default": 2,
                              "description": "Scaling factor (when `targetWidth` not specified)",
                              "maximum": 16,
                              "minimum": 1,
                              "type": "number"
                            },
                            "scheduler": {
                              "description": "The scheduler used to generate this asset",
                              "type": "string"
                            },
                            "seed": {
                              "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                              "type": "string"
                            },
                            "sharpen": {
                              "default": false,
                              "description": "Sharpen tiles.",
                              "type": "boolean"
                            },
                            "shiny": {
                              "default": 0.5,
                              "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "sketch": {
                              "default": false,
                              "description": "Activate sketch detection instead of canny.",
                              "type": "boolean"
                            },
                            "sourceProjectId": {
                              "type": "string"
                            },
                            "spliceThreshold": {
                              "type": "number"
                            },
                            "strength": {
                              "default": 1,
                              "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                              "type": "number"
                            },
                            "structureFidelity": {
                              "default": 35,
                              "description": "Strength for the input image structure preservation",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "structureImage": {
                              "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "style": {
                              "enum": [
                                "3d-cartoon",
                                "3d-rendered",
                                "anime",
                                "cartoon",
                                "cinematic",
                                "claymation",
                                "cloud-skydome",
                                "comic",
                                "cyberpunk",
                                "enchanted",
                                "fantasy",
                                "ink",
                                "manga",
                                "manga-color",
                                "minimalist",
                                "neon-tron",
                                "oil-painting",
                                "pastel",
                                "photo",
                                "photography",
                                "psychedelic",
                                "retro-fantasy",
                                "scifi-concept-art",
                                "space",
                                "standard",
                                "whimsical"
                              ],
                              "type": "string"
                            },
                            "styleFidelity": {
                              "default": 20,
                              "description": "The higher the value the more it will look like the style image(s)",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "styleImages": {
                              "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                              "items": {
                                "type": "string"
                              },
                              "maxItems": 10,
                              "type": "array"
                            },
                            "styleImagesFidelity": {
                              "default": 17,
                              "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetHeight": {
                              "default": 1024,
                              "description": "The target height of the output image.",
                              "maximum": 2048,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetWidth": {
                              "description": "Target width for the upscaled image, take priority over scaling factor",
                              "maximum": 16000,
                              "minimum": 1024,
                              "type": "number"
                            },
                            "text": {
                              "description": "A textual description / keywords describing the object of interest.",
                              "maxLength": 100,
                              "type": "string"
                            },
                            "texture": {
                              "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "thumbnail": {
                              "additionalProperties": false,
                              "description": "The thumbnail of the canvas",
                              "properties": {
                                "assetId": {
                                  "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                  "type": "string"
                                },
                                "url": {
                                  "description": "The url of the image used as a thumbnail for the canvas",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "assetId",
                                "url"
                              ],
                              "type": "object"
                            },
                            "tileStyle": {
                              "default": false,
                              "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                              "type": "boolean"
                            },
                            "trainingImage": {
                              "type": "boolean"
                            },
                            "type": {
                              "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                              "enum": [
                                "3d-texture",
                                "3d-texture-albedo",
                                "3d-texture-metallic",
                                "3d-texture-mtl",
                                "3d-texture-normal",
                                "3d-texture-roughness",
                                "3d23d",
                                "3d23d-texture",
                                "audio2audio",
                                "audio2txt",
                                "audio2video",
                                "background-removal",
                                "canvas",
                                "canvas-drawing",
                                "canvas-export",
                                "detection",
                                "generative-fill",
                                "image-prompt-editing",
                                "img23d",
                                "img2img",
                                "img2splat",
                                "img2txt",
                                "img2video",
                                "inference-controlnet",
                                "inference-controlnet-img2img",
                                "inference-controlnet-inpaint",
                                "inference-controlnet-inpaint-ip-adapter",
                                "inference-controlnet-ip-adapter",
                                "inference-controlnet-reference",
                                "inference-controlnet-texture",
                                "inference-img2img",
                                "inference-img2img-ip-adapter",
                                "inference-img2img-texture",
                                "inference-inpaint",
                                "inference-inpaint-ip-adapter",
                                "inference-reference",
                                "inference-reference-texture",
                                "inference-txt2img",
                                "inference-txt2img-ip-adapter",
                                "inference-txt2img-texture",
                                "patch",
                                "pixelization",
                                "reframe",
                                "restyle",
                                "segment",
                                "segmentation-image",
                                "segmentation-mask",
                                "skybox-3d",
                                "skybox-base-360",
                                "skybox-hdri",
                                "texture",
                                "texture-albedo",
                                "texture-ao",
                                "texture-edge",
                                "texture-height",
                                "texture-metallic",
                                "texture-normal",
                                "texture-smoothness",
                                "txt23d",
                                "txt2audio",
                                "txt2img",
                                "txt2txt",
                                "txt2video",
                                "unknown",
                                "uploaded",
                                "uploaded-3d",
                                "uploaded-audio",
                                "uploaded-avatar",
                                "uploaded-text",
                                "uploaded-video",
                                "upscale",
                                "upscale-skybox",
                                "upscale-texture",
                                "upscale-video",
                                "vectorization",
                                "video23d",
                                "video2audio",
                                "video2img",
                                "video2txt",
                                "video2video",
                                "voice-clone"
                              ],
                              "type": "string"
                            },
                            "verticalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Vertical expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "width": {
                              "default": 1536,
                              "description": "The width of the rendered image.",
                              "maximum": 2048,
                              "minimum": 1024,
                              "type": "number"
                            }
                          },
                          "required": [
                            "kind",
                            "type"
                          ],
                          "type": "object"
                        },
                        "mimeType": {
                          "description": "The mime type of the asset (example: \"image/png\")",
                          "type": "string"
                        },
                        "nsfw": {
                          "description": "The NSFW labels",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "originalFileUrl": {
                          "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                          "type": "string"
                        },
                        "originalMimeType": {
                          "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                          "enum": [
                            "application/gzip",
                            "application/json",
                            "application/octet-stream",
                            "application/pdf",
                            "application/safetensors",
                            "application/vnd.autodesk.fbx",
                            "application/x-authorware-bin",
                            "application/x-zip-compressed",
                            "application/x.autodesk.fbx",
                            "application/zip",
                            "audio/flac",
                            "audio/m4a",
                            "audio/mpeg",
                            "audio/ogg",
                            "audio/wav",
                            "image/aces",
                            "image/avif",
                            "image/bmp",
                            "image/gif",
                            "image/heic",
                            "image/jpeg",
                            "image/png",
                            "image/svg+xml",
                            "image/tiff",
                            "image/vnd.radiance",
                            "image/webp",
                            "image/x-exr",
                            "model/glb",
                            "model/gltf+json",
                            "model/gltf-binary",
                            "model/ksplat",
                            "model/mtl",
                            "model/obj",
                            "model/ply",
                            "model/sog",
                            "model/splat",
                            "model/spz",
                            "model/stl",
                            "model/vnd.collada+xml",
                            "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                            "model/vnd.usdz+zip",
                            "model/x-3d-vox",
                            "model/x-blender",
                            "model/x-fbx",
                            "model/x-maya-ascii",
                            "model/x-maya-binary",
                            "model/x-vsplat",
                            "model/x3d+xml",
                            "text/plain",
                            "video/mp4",
                            "video/quicktime",
                            "video/webm"
                          ],
                          "type": "string"
                        },
                        "outputIndex": {
                          "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                          "type": "number"
                        },
                        "ownerId": {
                          "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                          "type": "string"
                        },
                        "preview": {
                          "additionalProperties": false,
                          "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "description": "The privacy of the asset",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "properties": {
                          "additionalProperties": false,
                          "description": "The properties of the asset, content may depend on the kind of asset returned",
                          "properties": {
                            "animationFrameCount": {
                              "description": "Number of animation frames if animations exist",
                              "type": "number"
                            },
                            "bitrate": {
                              "description": "Bitrate of the media in bits per second",
                              "type": "number"
                            },
                            "boneCount": {
                              "description": "Number of bones if skeleton exists",
                              "type": "number"
                            },
                            "cameraMode": {
                              "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "enum": [
                                "aerial",
                                "interior",
                                "turntable"
                              ],
                              "type": "string"
                            },
                            "cameraTrajectory": {
                              "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "items": {
                                "additionalProperties": false,
                                "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                "properties": {
                                  "fov": {
                                    "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                    "type": "number"
                                  },
                                  "position": {
                                    "description": "Camera eye position in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "target": {
                                    "description": "Look-at point in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "position",
                                  "target"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "channels": {
                              "description": "Number of channels of the audio",
                              "type": "number"
                            },
                            "charCount": {
                              "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                              "type": "number"
                            },
                            "classification": {
                              "description": "Classification of the audio",
                              "enum": [
                                "effect",
                                "interview",
                                "music",
                                "other",
                                "sound",
                                "speech",
                                "text",
                                "unknown"
                              ],
                              "type": "string"
                            },
                            "codecName": {
                              "description": "Codec name of the media",
                              "type": "string"
                            },
                            "description": {
                              "description": "Description of the audio",
                              "type": "string"
                            },
                            "dimensions": {
                              "description": "Bounding box dimensions [width, height, depth]",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "duration": {
                              "description": "Duration of the media in seconds",
                              "type": "number"
                            },
                            "faceCount": {
                              "description": "Number of faces/triangles in the mesh",
                              "type": "number"
                            },
                            "format": {
                              "description": "Format of the mesh file (e.g. 'glb', etc.)",
                              "type": "string"
                            },
                            "frameRate": {
                              "description": "Frame rate of the video in frames per second",
                              "type": "number"
                            },
                            "hasAnimations": {
                              "description": "Whether the mesh has animations",
                              "type": "boolean"
                            },
                            "hasFullPreview": {
                              "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                              "type": "boolean"
                            },
                            "hasNormals": {
                              "description": "Whether the mesh has normal vectors",
                              "type": "boolean"
                            },
                            "hasSkeleton": {
                              "description": "Whether the mesh has bones/skeleton",
                              "type": "boolean"
                            },
                            "hasUVs": {
                              "description": "Whether the mesh has UV coordinates",
                              "type": "boolean"
                            },
                            "height": {
                              "type": "number"
                            },
                            "nbFrames": {
                              "description": "Number of frames in the video",
                              "type": "number"
                            },
                            "preview": {
                              "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                              "type": "string"
                            },
                            "sampleRate": {
                              "description": "Sample rate of the media in Hz",
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "transcription": {
                              "additionalProperties": false,
                              "description": "Transcription of the audio",
                              "properties": {
                                "text": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text"
                              ],
                              "type": "object"
                            },
                            "vertexCount": {
                              "description": "Number of vertices in the mesh",
                              "type": "number"
                            },
                            "width": {
                              "type": "number"
                            },
                            "wordCount": {
                              "description": "Number of whitespace-separated words in the text",
                              "type": "number"
                            }
                          },
                          "required": [
                            "size"
                          ],
                          "type": "object"
                        },
                        "qualityGate": {
                          "additionalProperties": false,
                          "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                          "properties": {
                            "aiQualityScore": {
                              "description": "Generic AI-quality sub-score",
                              "type": "number"
                            },
                            "appliedBriefIds": {
                              "description": "Ids of briefs that contributed",
                              "items": {
                                "description": "Opaque identifier for a brief, derived from its scope.",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "briefComplianceScore": {
                              "description": "Brief-compliance sub-score (omitted when no brief applied)",
                              "type": "number"
                            },
                            "computedAt": {
                              "description": "ISO-8601 timestamp of when scoring ran",
                              "type": "string"
                            },
                            "details": {
                              "additionalProperties": false,
                              "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                              "properties": {
                                "aiQuality": {
                                  "additionalProperties": false,
                                  "description": "Always-on generic AI-quality dimension",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                },
                                "briefCompliance": {
                                  "additionalProperties": false,
                                  "description": "Brief-compliance dimension; omitted when no brief applied",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                }
                              },
                              "required": [
                                "aiQuality"
                              ],
                              "type": "object"
                            },
                            "error": {
                              "description": "Error message when status is 'error' (truncated)",
                              "type": "string"
                            },
                            "overallScore": {
                              "description": "0–100 composite score (present when status is 'scored')",
                              "type": "number"
                            },
                            "sensitivity": {
                              "description": "Sensitivity used for the verdict",
                              "enum": [
                                "high",
                                "low",
                                "medium"
                              ],
                              "type": "string"
                            },
                            "status": {
                              "description": "Whether scoring succeeded or errored",
                              "enum": [
                                "error",
                                "scored"
                              ],
                              "type": "string"
                            },
                            "verdict": {
                              "description": "pass / warn / fail (present when status is 'scored')",
                              "enum": [
                                "fail",
                                "pass",
                                "warn"
                              ],
                              "type": "string"
                            },
                            "version": {
                              "description": "Rubric/model version that produced this result",
                              "type": "string"
                            }
                          },
                          "required": [
                            "computedAt",
                            "status",
                            "version"
                          ],
                          "type": "object"
                        },
                        "source": {
                          "description": "source of the asset",
                          "enum": [
                            "3d23d",
                            "3d23d:texture",
                            "3d:texture",
                            "3d:texture:albedo",
                            "3d:texture:metallic",
                            "3d:texture:mtl",
                            "3d:texture:normal",
                            "3d:texture:roughness",
                            "audio2audio",
                            "audio2txt",
                            "audio2video",
                            "background-removal",
                            "canvas",
                            "canvas-drawing",
                            "canvas-export",
                            "detection",
                            "generative-fill",
                            "image-prompt-editing",
                            "img23d",
                            "img2img",
                            "img2splat",
                            "img2txt",
                            "img2video",
                            "inference-control-net",
                            "inference-control-net-img",
                            "inference-control-net-inpainting",
                            "inference-control-net-inpainting-ip-adapter",
                            "inference-control-net-ip-adapter",
                            "inference-control-net-reference",
                            "inference-control-net-texture",
                            "inference-img",
                            "inference-img-ip-adapter",
                            "inference-img-texture",
                            "inference-in-paint",
                            "inference-in-paint-ip-adapter",
                            "inference-reference",
                            "inference-reference-texture",
                            "inference-txt",
                            "inference-txt-ip-adapter",
                            "inference-txt-texture",
                            "patch",
                            "pixelization",
                            "reframe",
                            "restyle",
                            "segment",
                            "segmentation-image",
                            "segmentation-mask",
                            "skybox-3d",
                            "skybox-base-360",
                            "skybox-hdri",
                            "texture",
                            "texture:albedo",
                            "texture:ao",
                            "texture:edge",
                            "texture:height",
                            "texture:metallic",
                            "texture:normal",
                            "texture:smoothness",
                            "txt23d",
                            "txt2audio",
                            "txt2img",
                            "txt2txt",
                            "txt2video",
                            "unknown",
                            "uploaded",
                            "uploaded-3d",
                            "uploaded-audio",
                            "uploaded-avatar",
                            "uploaded-text",
                            "uploaded-video",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "upscale-video",
                            "vectorization",
                            "video23d",
                            "video2audio",
                            "video2img",
                            "video2txt",
                            "video2video",
                            "voice-clone"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The actual status",
                          "enum": [
                            "error",
                            "pending",
                            "success"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "url": {
                          "description": "Signed URL to get the asset content",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "collectionIds",
                        "createdAt",
                        "editCapabilities",
                        "id",
                        "kind",
                        "metadata",
                        "mimeType",
                        "ownerId",
                        "privacy",
                        "properties",
                        "source",
                        "status",
                        "tags",
                        "updatedAt",
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "asset"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/assets/restore": {
      "post": {
        "operationId": "PostAssetsRestore",
        "description": "Restore assets deleted in the last 30 days. Tags and collections are not restored. Max plan and above only.",
        "tags": [
          "Assets"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "restoredAssetIds": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "The ids of the restored assets"
                    },
                    "skippedAssets": {
                      "type": "array",
                      "description": "The assets that were not restored, and why",
                      "items": {
                        "type": "object",
                        "properties": {
                          "assetId": {
                            "type": "string"
                          },
                          "reason": {
                            "type": "string",
                            "enum": [
                              "not-found",
                              "not-deleted",
                              "expired"
                            ],
                            "description": "\"not-found\": no asset with this id. \"not-deleted\": the asset is not deleted. \"expired\": deleted more than 30 days ago, or past the Free plan retention period."
                          }
                        },
                        "required": [
                          "assetId",
                          "reason"
                        ]
                      }
                    }
                  },
                  "required": [
                    "restoredAssetIds",
                    "skippedAssets"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "assetIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 100,
                    "description": "The ids of the deleted assets to restore. (Max 100 at once)"
                  }
                },
                "required": [
                  "assetIds"
                ]
              }
            }
          }
        }
      }
    },
    "/search/assets": {
      "post": {
        "operationId": "PostSearchAssets",
        "description": "Search for assets.\nAt least one of the following fields must have a value: `query`, `filter`, `image`, or `images`.\n\n`image`, `images` are mutually exclusive.",
        "tags": [
          "Discoverability"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "description": "Search result for asset search",
                  "properties": {
                    "estimatedTotalHits": {
                      "description": "Estimated total number of hits",
                      "type": "number"
                    },
                    "hits": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "authorId": {
                            "description": "User ID of the asset creator/author",
                            "type": "string"
                          },
                          "collectionIds": {
                            "description": "Array of collection IDs this asset belongs to",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "content": {
                            "description": "Indexed body for text assets (`AssetKind.Text`). The full content lives in S3;\nthis field carries up to TEXT_INDEX_MAX_BYTES of UTF-8 for BM25 lookup.\nAlways undefined for non-text assets.",
                            "type": "string"
                          },
                          "createdAt": {
                            "description": "Creation timestamp in ISO 8601 format (e.g., \"2025-01-16T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "description": {
                            "description": "Textual description of the asset. Can be either:\n- User-provided description for training images\n- Automatically generated caption for images and videos assets\n- Automatically generated description for audio assets",
                            "type": "string"
                          },
                          "id": {
                            "description": "Unique identifier for the asset (e.g., \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                            "type": "string"
                          },
                          "metadata": {
                            "additionalProperties": false,
                            "description": "Metadata containing detailed information about the asset's properties and generation parameters",
                            "properties": {
                              "aspectRatio": {
                                "description": "Aspect ratio of the asset (e.g., \"1:1\", \"16:9\")",
                                "type": "string"
                              },
                              "baseModelId": {
                                "description": "ID of the base model used for generation",
                                "type": "string"
                              },
                              "guidance": {
                                "description": "Guidance scale used for diffusion models to control prompt adherence",
                                "type": "number"
                              },
                              "height": {
                                "description": "Height of the asset in pixels",
                                "type": "number"
                              },
                              "kind": {
                                "description": "Classification of the asset (e.g., \"image\", \"video\")",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "ID of the specific model used if asset is model-based",
                                "type": "string"
                              },
                              "modelType": {
                                "description": "Type of model used for generation (e.g., \"flux.1\", \"flux.1-lora\")",
                                "type": "string"
                              },
                              "name": {
                                "description": "Custom name given to the asset",
                                "type": "string"
                              },
                              "negativePrompt": {
                                "description": "Negative prompt used during generation to specify what to avoid",
                                "type": "string"
                              },
                              "negativePromptStrength": {
                                "description": "For Flux models: controls the influence of the negative prompt",
                                "type": "number"
                              },
                              "numInferenceSteps": {
                                "description": "Number of inference steps used during generation",
                                "type": "number"
                              },
                              "parentJobId": {
                                "description": "ID of the parent job that created this asset",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "Text prompt used to generate the asset",
                                "type": "string"
                              },
                              "scheduler": {
                                "description": "Scheduler algorithm used during generation",
                                "type": "string"
                              },
                              "seed": {
                                "description": "Random seed used for generation, enables reproducibility",
                                "type": "string"
                              },
                              "size": {
                                "description": "File size of the asset in bytes",
                                "type": "number"
                              },
                              "text": {
                                "description": "Text used to generate the asset: mainly for speech to text",
                                "type": "string"
                              },
                              "thumbnail": {
                                "additionalProperties": false,
                                "description": "Thumbnail image information for the asset. Ex. Canvas thumbnail",
                                "properties": {
                                  "assetId": {
                                    "description": "ID of the asset used as thumbnail",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "assetId"
                                ],
                                "type": "object"
                              },
                              "type": {
                                "description": "Specific type/category of the asset (e.g., \"canvas\", \"inference-txt\")",
                                "type": "string"
                              },
                              "width": {
                                "description": "Width of the asset in pixels",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "mimeType": {
                            "description": "MIME type of the asset (e.g., \"image/png\", \"image/jpeg\")",
                            "type": "string"
                          },
                          "nsfw": {
                            "description": "Array of detected NSFW categories",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "ownerId": {
                            "description": "Project ID of the asset owner",
                            "type": "string"
                          },
                          "privacy": {
                            "description": "Privacy setting of the asset (\"public\", \"private\", or \"unlisted\")",
                            "type": "string"
                          },
                          "score": {
                            "description": "Score assigned to the asset based on usage and popularity",
                            "type": "number"
                          },
                          "tags": {
                            "description": "Array of user-assigned tags for categorization",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "teamId": {
                            "description": "Team ID of the asset owner",
                            "type": "string"
                          },
                          "thumbnail": {
                            "additionalProperties": false,
                            "description": "Thumbnail preview of the asset 3D, video...",
                            "properties": {
                              "assetId": {
                                "description": "ID of the asset used as thumbnail",
                                "type": "string"
                              },
                              "url": {
                                "description": "Signed URL of the thumbnail",
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "transcription": {
                            "description": "Transcription of the asset. Can be either:\n- Automatically generated transcription for audio assets with speech",
                            "type": "string"
                          },
                          "updatedAt": {
                            "description": "Last modification timestamp in ISO 8601 format (e.g., \"2025-01-16T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "url": {
                            "description": "Signed URL of the asset",
                            "type": "string"
                          }
                        },
                        "required": [
                          "authorId",
                          "collectionIds",
                          "createdAt",
                          "id",
                          "metadata",
                          "mimeType",
                          "nsfw",
                          "ownerId",
                          "privacy",
                          "tags",
                          "teamId",
                          "updatedAt",
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "hitsPerPage": {
                      "description": "Number of results on each page",
                      "type": "number"
                    },
                    "limit": {
                      "description": "Maximum number of documents returned",
                      "type": "number"
                    },
                    "offset": {
                      "description": "Number of documents skipped",
                      "type": "number"
                    },
                    "page": {
                      "description": "Current search results page",
                      "type": "number"
                    },
                    "totalHits": {
                      "description": "Exhaustive total number of matches",
                      "type": "number"
                    },
                    "totalPages": {
                      "description": "Exhaustive total number of search result pages",
                      "type": "number"
                    }
                  },
                  "required": [
                    "hits",
                    "limit",
                    "offset"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "At least one of the following fields must have a value: `query`, `filter`, `image`, or `images`.\n\n`image`, `images` are mutually exclusive.",
                "properties": {
                  "filter": {
                    "default": "undefined",
                    "description": "Filter queries by an attribute's value",
                    "type": "string"
                  },
                  "hitsPerPage": {
                    "description": "Maximum number of documents returned for a page. Must be used with `page`.",
                    "maximum": 100,
                    "minimum": 1,
                    "type": "number"
                  },
                  "image": {
                    "description": "Search for similar images with `image` as a reference.\n\nMust be an existing `AssetId` or a valid data URL.",
                    "type": "string"
                  },
                  "imageSemanticRatio": {
                    "default": 1,
                    "description": "Image embedding ratio for hybrid search, applied when `image`, `images.like`, or `images.unlike`\nare provided",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "images": {
                    "additionalProperties": false,
                    "description": "Search for similar images with `images.like` and `images.unlike` as a reference\n\nMust be arrays of existing `AssetId` or valid data URLs.",
                    "properties": {
                      "like": {
                        "description": "Search for similar images with `images.like` as a reference.\n\nMust be an array of existing `AssetId` or valid data URLs.",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "unlike": {
                        "description": "Search for images that are not similar to `images.unlike` as a reference.\n\nMust be an array of existing `AssetId` or valid data URLs.",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      }
                    },
                    "type": "object"
                  },
                  "limit": {
                    "default": 20,
                    "description": "Maximum number of documents returned. Must be used with `offset`.",
                    "maximum": 100,
                    "minimum": 1,
                    "type": "number"
                  },
                  "offset": {
                    "default": 0,
                    "description": "Number of documents to skip. Must be used with `limit`. Starts from 0.",
                    "minimum": 0,
                    "type": "number"
                  },
                  "page": {
                    "description": "Request a specific page of results. Must be used with `hitsPerPage`.",
                    "minimum": 1,
                    "type": "number"
                  },
                  "public": {
                    "default": false,
                    "description": "Search for public images not necessarily belonging to the current `ownerId`",
                    "type": "boolean"
                  },
                  "query": {
                    "default": "''",
                    "description": "A string used for querying search results.",
                    "type": "string"
                  },
                  "querySemanticRatio": {
                    "default": 0,
                    "description": "Query embedding for hybrid search, if possible",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "sortBy": {
                    "default": "undefined",
                    "description": "Sort the search results by the given attributes. Each attribute in the list must be followed by a colon (`:`) and the preferred sorting order: either ascending (`asc`) or descending (`desc`).\n\nExample: `['createdAt:desc']`",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/search/models": {
      "post": {
        "operationId": "PostSearchModels",
        "description": "Search for models.\nAt least one of the following fields must have a value: `query`, `filter`, `image`, or `images`.\n\n`image`, and `images` are mutually exclusive.",
        "tags": [
          "Discoverability"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "description": "Search result for model search",
                  "properties": {
                    "estimatedTotalHits": {
                      "description": "Estimated total number of hits",
                      "type": "number"
                    },
                    "hits": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "authorId": {
                            "description": "User ID of the model creator/author",
                            "type": "string"
                          },
                          "capabilities": {
                            "description": "Array of model capabilities",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "collectionIds": {
                            "description": "Array of collection IDs this model belongs to",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "concepts": {
                            "description": "Array of concept models associated with this model\nEach concept contains a reference to its source model",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "modelId": {
                                  "description": "ID of the concept's source model",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "modelId"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "createdAt": {
                            "description": "Creation timestamp in ISO 8601 format (e.g., \"2025-01-16T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "exampleAssetIds": {
                            "description": "Array of example asset IDs associated with this model",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "id": {
                            "description": "Unique identifier for the model (e.g., \"model_GTrL3mq4SXWyMxkOHRxlpw\")",
                            "type": "string"
                          },
                          "name": {
                            "description": "Display name of the model",
                            "type": "string"
                          },
                          "ownerId": {
                            "description": "Project ID of the model owner",
                            "type": "string"
                          },
                          "parentModelId": {
                            "description": "ID of the parent model this model was derived from",
                            "type": "string"
                          },
                          "privacy": {
                            "description": "Privacy setting of the model (\"public\", \"private\", or \"unlisted\")",
                            "type": "string"
                          },
                          "score": {
                            "description": "Score assigned to the model based on usage and popularity",
                            "type": "number"
                          },
                          "shortDescription": {
                            "description": "Short description of the model",
                            "type": "string"
                          },
                          "source": {
                            "description": "Source/origin of the model (e.g., \"training\", \"import\")",
                            "type": "string"
                          },
                          "tags": {
                            "description": "Array of user-assigned tags for categorization",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "teamId": {
                            "description": "Team ID of the model owner",
                            "type": "string"
                          },
                          "thumbnail": {
                            "additionalProperties": false,
                            "description": "Thumbnail image information for the model",
                            "properties": {
                              "assetId": {
                                "description": "ID of the asset used as thumbnail",
                                "type": "string"
                              },
                              "url": {
                                "description": "Signed URL of the thumbnail",
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "trainingImagesNumber": {
                            "description": "Number of images used to train this model",
                            "type": "number"
                          },
                          "type": {
                            "description": "Type of the model (e.g., \"flux.1\", \"flux.1-lora\")",
                            "type": "string"
                          },
                          "updatedAt": {
                            "description": "Last modification timestamp in ISO 8601 format (e.g., \"2025-01-16T11:19:41.579Z\")",
                            "type": "string"
                          }
                        },
                        "required": [
                          "authorId",
                          "capabilities",
                          "collectionIds",
                          "concepts",
                          "createdAt",
                          "exampleAssetIds",
                          "id",
                          "name",
                          "ownerId",
                          "privacy",
                          "shortDescription",
                          "source",
                          "tags",
                          "teamId",
                          "trainingImagesNumber",
                          "type",
                          "updatedAt"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "hitsPerPage": {
                      "description": "Number of results on each page",
                      "type": "number"
                    },
                    "limit": {
                      "description": "Maximum number of documents returned",
                      "type": "number"
                    },
                    "offset": {
                      "description": "Number of documents skipped",
                      "type": "number"
                    },
                    "page": {
                      "description": "Current search results page",
                      "type": "number"
                    },
                    "totalHits": {
                      "description": "Exhaustive total number of matches",
                      "type": "number"
                    },
                    "totalPages": {
                      "description": "Exhaustive total number of search result pages",
                      "type": "number"
                    }
                  },
                  "required": [
                    "hits",
                    "limit",
                    "offset"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "At least one of the following fields must have a value: `query`, `filter`, `image`, or `images`.\n\n`image`, and `images` are mutually exclusive.",
                "properties": {
                  "filter": {
                    "default": "undefined",
                    "description": "Filter queries by an attribute's value",
                    "type": "string"
                  },
                  "hitsPerPage": {
                    "description": "Maximum number of documents returned for a page. Must be used with `page`.",
                    "maximum": 100,
                    "minimum": 1,
                    "type": "number"
                  },
                  "image": {
                    "description": "Search for model with `image` as a reference\n\nMust be an existing `AssetId` or a valid data URL.",
                    "type": "string"
                  },
                  "imageSemanticRatio": {
                    "default": 1,
                    "description": "Image embedding ratio for hybrid search, applied when `image`, `images.like`, or `images.unlike`\nare provided",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "images": {
                    "additionalProperties": false,
                    "description": "Search for model with `images.like` and `images.unlike` as a reference\n\nMust be an array of existing `AssetId` or valid data URLs.",
                    "properties": {
                      "like": {
                        "description": "Search for model images with `images.like` as a reference\n\nMust be an array of existing `AssetId` or valid data URLs.",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "unlike": {
                        "description": "Search for model images that are not similar to `images.unlike` as a reference\n\nMust be an array of existing `AssetId` or valid data URLs.",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      }
                    },
                    "type": "object"
                  },
                  "limit": {
                    "default": 20,
                    "description": "Maximum number of documents returned. Must be used with `offset`.",
                    "maximum": 100,
                    "minimum": 1,
                    "type": "number"
                  },
                  "offset": {
                    "default": 0,
                    "description": "Number of documents to skip. Must be used with `limit`. Starts from 0.",
                    "minimum": 0,
                    "type": "number"
                  },
                  "page": {
                    "description": "Request a specific page of results. Must be used with `hitsPerPage`.",
                    "minimum": 1,
                    "type": "number"
                  },
                  "public": {
                    "default": false,
                    "description": "Search for public images not necessarily belonging to the current `ownerId`",
                    "type": "boolean"
                  },
                  "query": {
                    "default": "''",
                    "description": "A string used for querying search results.",
                    "type": "string"
                  },
                  "querySemanticRatio": {
                    "default": 0,
                    "description": "Query embedding for hybrid search, if possible",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "sortBy": {
                    "default": "undefined",
                    "description": "Sort the search results by the given attributes. Each attribute in the list must be followed by a colon (`:`) and the preferred sorting order: either ascending (`asc`) or descending (`desc`).\n\nExample: `['createdAt:desc']`",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/search/workflows": {
      "post": {
        "operationId": "PostSearchWorkflows",
        "description": "Search for workflows.\nAt least one of the following fields must have a value: `query` or `filter`.",
        "tags": [
          "Discoverability"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "description": "Search result for workflow search",
                  "properties": {
                    "estimatedTotalHits": {
                      "description": "Estimated total number of hits",
                      "type": "number"
                    },
                    "hits": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "after": {
                            "additionalProperties": false,
                            "description": "After image information for the workflow",
                            "properties": {
                              "assetId": {
                                "description": "ID of the asset used as after image",
                                "type": "string"
                              },
                              "url": {
                                "description": "Signed URL of the after image",
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "authorId": {
                            "description": "User ID of the workflow creator/author",
                            "type": "string"
                          },
                          "before": {
                            "additionalProperties": false,
                            "description": "Before image information for the workflow",
                            "properties": {
                              "assetId": {
                                "description": "ID of the asset used as before image",
                                "type": "string"
                              },
                              "url": {
                                "description": "Signed URL of the before image",
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "collectionIds": {
                            "description": "Array of collection IDs this workflow belongs to",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "createdAt": {
                            "description": "Creation timestamp in ISO 8601 format (e.g., \"2025-01-16T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "description": {
                            "description": "Full description of the workflow",
                            "type": "string"
                          },
                          "id": {
                            "description": "Unique identifier for the workflow (e.g., \"workflow_abc123\")",
                            "type": "string"
                          },
                          "name": {
                            "description": "Display name of the workflow",
                            "type": "string"
                          },
                          "ownerId": {
                            "description": "Project ID of the workflow owner",
                            "type": "string"
                          },
                          "privacy": {
                            "description": "Privacy setting of the workflow (\"public\", \"private\", or \"unlisted\")",
                            "type": "string"
                          },
                          "score": {
                            "description": "Score assigned to the workflow based on usage and popularity",
                            "type": "number"
                          },
                          "shortDescription": {
                            "description": "Short description of the workflow",
                            "type": "string"
                          },
                          "status": {
                            "description": "Status of the workflow (e.g., \"ready\", \"draft\", \"deleted\")",
                            "type": "string"
                          },
                          "tags": {
                            "description": "Array of user-assigned tags for categorization",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "teamId": {
                            "description": "Team ID of the workflow owner",
                            "type": "string"
                          },
                          "thumbnail": {
                            "additionalProperties": false,
                            "description": "Thumbnail image information for the workflow",
                            "properties": {
                              "assetId": {
                                "description": "ID of the asset used as thumbnail",
                                "type": "string"
                              },
                              "url": {
                                "description": "Signed URL of the thumbnail",
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "updatedAt": {
                            "description": "Last modification timestamp in ISO 8601 format (e.g., \"2025-01-16T11:19:41.579Z\")",
                            "type": "string"
                          }
                        },
                        "required": [
                          "authorId",
                          "collectionIds",
                          "createdAt",
                          "description",
                          "id",
                          "name",
                          "ownerId",
                          "privacy",
                          "status",
                          "tags",
                          "teamId",
                          "updatedAt"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "hitsPerPage": {
                      "description": "Number of results on each page",
                      "type": "number"
                    },
                    "limit": {
                      "description": "Maximum number of documents returned",
                      "type": "number"
                    },
                    "offset": {
                      "description": "Number of documents skipped",
                      "type": "number"
                    },
                    "page": {
                      "description": "Current search results page",
                      "type": "number"
                    },
                    "totalHits": {
                      "description": "Exhaustive total number of matches",
                      "type": "number"
                    },
                    "totalPages": {
                      "description": "Exhaustive total number of search result pages",
                      "type": "number"
                    }
                  },
                  "required": [
                    "hits",
                    "limit",
                    "offset"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "At least one of the following fields must have a value: `query` or `filter`.",
                "properties": {
                  "filter": {
                    "default": "undefined",
                    "description": "Filter queries by an attribute's value",
                    "type": "string"
                  },
                  "hitsPerPage": {
                    "description": "Maximum number of documents returned for a page. Must be used with `page`.",
                    "maximum": 100,
                    "minimum": 1,
                    "type": "number"
                  },
                  "limit": {
                    "default": 20,
                    "description": "Maximum number of documents returned. Must be used with `offset`.",
                    "maximum": 100,
                    "minimum": 1,
                    "type": "number"
                  },
                  "offset": {
                    "default": 0,
                    "description": "Number of documents to skip. Must be used with `limit`. Starts from 0.",
                    "minimum": 0,
                    "type": "number"
                  },
                  "page": {
                    "description": "Request a specific page of results. Must be used with `hitsPerPage`.",
                    "minimum": 1,
                    "type": "number"
                  },
                  "public": {
                    "default": false,
                    "description": "Search for public workflows not necessarily belonging to the current `ownerId`",
                    "type": "boolean"
                  },
                  "query": {
                    "default": "''",
                    "description": "A string used for querying search results.",
                    "type": "string"
                  },
                  "querySemanticRatio": {
                    "default": 0,
                    "description": "Query embedding for hybrid search, if possible",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "sortBy": {
                    "default": "undefined",
                    "description": "Sort the search results by the given attributes. Each attribute in the list must be followed by a colon (`:`) and the preferred sorting order: either ascending (`asc`) or descending (`desc`).\n\nExample: `['createdAt:desc']`",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/collections": {
      "get": {
        "operationId": "GetCollections",
        "description": "List collections of a team",
        "tags": [
          "Collections"
        ],
        "parameters": [
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "The number of items to return in the response. The default value is 10, maximum value is 100, minimum value is 1",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 10
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "required": false,
            "description": "A token you received in a previous request to query the next page of items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "collections": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "assetCount": {
                            "type": "number"
                          },
                          "createdAt": {
                            "description": "The collection creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "id": {
                            "description": "The collection ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                            "type": "string"
                          },
                          "itemCount": {
                            "type": "number"
                          },
                          "modelCount": {
                            "type": "number"
                          },
                          "name": {
                            "description": "The collection name",
                            "type": "string"
                          },
                          "ownerId": {
                            "description": "The owner ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                            "type": "string"
                          },
                          "thumbnail": {
                            "additionalProperties": false,
                            "description": "The thumbnail for the collection (if any)",
                            "properties": {
                              "assetId": {
                                "type": "string"
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "updatedAt": {
                            "description": "The collection last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          }
                        },
                        "required": [
                          "assetCount",
                          "createdAt",
                          "id",
                          "itemCount",
                          "modelCount",
                          "name",
                          "ownerId",
                          "updatedAt"
                        ],
                        "type": "object"
                      }
                    },
                    "nextPaginationToken": {
                      "type": "string",
                      "description": "A token to query the next page of collections"
                    }
                  },
                  "required": [
                    "collections"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "post": {
        "operationId": "PostCollection",
        "description": "Create a new collection",
        "tags": [
          "Collections"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "collection": {
                      "additionalProperties": false,
                      "properties": {
                        "assetCount": {
                          "type": "number"
                        },
                        "createdAt": {
                          "description": "The collection creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "id": {
                          "description": "The collection ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "itemCount": {
                          "type": "number"
                        },
                        "modelCount": {
                          "type": "number"
                        },
                        "name": {
                          "description": "The collection name",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The thumbnail for the collection (if any)",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The collection last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "assetCount",
                        "createdAt",
                        "id",
                        "itemCount",
                        "modelCount",
                        "name",
                        "ownerId",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "collection"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name of the collection."
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          }
        }
      }
    },
    "/collections/{collectionId}": {
      "get": {
        "operationId": "GetCollectionsByCollectionId",
        "description": "Get the details of a collection",
        "tags": [
          "Collections"
        ],
        "parameters": [
          {
            "name": "collectionId",
            "in": "path",
            "required": true,
            "description": "The collection ID to retrieve",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "collection": {
                      "additionalProperties": false,
                      "properties": {
                        "assetCount": {
                          "type": "number"
                        },
                        "createdAt": {
                          "description": "The collection creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "id": {
                          "description": "The collection ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "itemCount": {
                          "type": "number"
                        },
                        "modelCount": {
                          "type": "number"
                        },
                        "name": {
                          "description": "The collection name",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The thumbnail for the collection (if any)",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The collection last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "assetCount",
                        "createdAt",
                        "id",
                        "itemCount",
                        "modelCount",
                        "name",
                        "ownerId",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "collection"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "operationId": "PutCollectionsByCollectionId",
        "description": "Update the name and/or thumbnail of a Collection",
        "tags": [
          "Collections"
        ],
        "parameters": [
          {
            "name": "collectionId",
            "in": "path",
            "required": true,
            "description": "The collectionId to update",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "collection": {
                      "additionalProperties": false,
                      "properties": {
                        "assetCount": {
                          "type": "number"
                        },
                        "createdAt": {
                          "description": "The collection creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "id": {
                          "description": "The collection ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "itemCount": {
                          "type": "number"
                        },
                        "modelCount": {
                          "type": "number"
                        },
                        "name": {
                          "description": "The collection name",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The thumbnail for the collection (if any)",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The collection last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "assetCount",
                        "createdAt",
                        "id",
                        "itemCount",
                        "modelCount",
                        "name",
                        "ownerId",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "collection"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The new name for the Collection"
                  },
                  "thumbnail": {
                    "type": "string",
                    "description": "The AssetId of the image you want to use as a thumbnail for the collection. Set to null to unset the thumbnail."
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteCollectionsByCollectionId",
        "description": "Delete a collection",
        "tags": [
          "Collections"
        ],
        "parameters": [
          {
            "name": "collectionId",
            "in": "path",
            "required": true,
            "description": "The collection ID to delete",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/assets": {
      "put": {
        "operationId": "PutAssetsByCollectionId",
        "description": "Add assets to a specific collection",
        "tags": [
          "Collections"
        ],
        "parameters": [
          {
            "name": "collectionId",
            "in": "path",
            "required": true,
            "description": "The ID of the collection to add assets to",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "collection": {
                      "additionalProperties": false,
                      "properties": {
                        "assetCount": {
                          "type": "number"
                        },
                        "createdAt": {
                          "description": "The collection creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "id": {
                          "description": "The collection ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "itemCount": {
                          "type": "number"
                        },
                        "modelCount": {
                          "type": "number"
                        },
                        "name": {
                          "description": "The collection name",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The thumbnail for the collection (if any)",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The collection last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "assetCount",
                        "createdAt",
                        "id",
                        "itemCount",
                        "modelCount",
                        "name",
                        "ownerId",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "collection"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "assetIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "The ids of the assets to add to the collection. (Max 49 at once)"
                  }
                },
                "required": [
                  "assetIds"
                ]
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteAssetsByCollectionId",
        "description": "Remove assets from a specific collection",
        "tags": [
          "Collections"
        ],
        "parameters": [
          {
            "name": "collectionId",
            "in": "path",
            "required": true,
            "description": "The ID of the collection to remove the assets from",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "collection": {
                      "additionalProperties": false,
                      "properties": {
                        "assetCount": {
                          "type": "number"
                        },
                        "createdAt": {
                          "description": "The collection creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "id": {
                          "description": "The collection ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "itemCount": {
                          "type": "number"
                        },
                        "modelCount": {
                          "type": "number"
                        },
                        "name": {
                          "description": "The collection name",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The thumbnail for the collection (if any)",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The collection last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "assetCount",
                        "createdAt",
                        "id",
                        "itemCount",
                        "modelCount",
                        "name",
                        "ownerId",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "collection"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "assetIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "The ids of the assets to remove from the collection. (Max 49 at once)"
                  }
                },
                "required": [
                  "assetIds"
                ]
              }
            }
          }
        }
      }
    },
    "/collections/{collectionId}/models": {
      "put": {
        "operationId": "PutModelsByCollectionId",
        "description": "Add models to a specific collection",
        "tags": [
          "Collections"
        ],
        "parameters": [
          {
            "name": "collectionId",
            "in": "path",
            "required": true,
            "description": "The ID of the collection to add models to",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "collection": {
                      "additionalProperties": false,
                      "properties": {
                        "assetCount": {
                          "type": "number"
                        },
                        "createdAt": {
                          "description": "The collection creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "id": {
                          "description": "The collection ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "itemCount": {
                          "type": "number"
                        },
                        "modelCount": {
                          "type": "number"
                        },
                        "name": {
                          "description": "The collection name",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The thumbnail for the collection (if any)",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The collection last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "assetCount",
                        "createdAt",
                        "id",
                        "itemCount",
                        "modelCount",
                        "name",
                        "ownerId",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "collection"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "modelIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "The ids of the models to add to the collection. (Max 49 at once)"
                  }
                },
                "required": [
                  "modelIds"
                ]
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteModelsByCollectionId",
        "description": "Remove models from a specific collection",
        "tags": [
          "Collections"
        ],
        "parameters": [
          {
            "name": "collectionId",
            "in": "path",
            "required": true,
            "description": "The ID of the collection to remove the models from",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "collection": {
                      "additionalProperties": false,
                      "properties": {
                        "assetCount": {
                          "type": "number"
                        },
                        "createdAt": {
                          "description": "The collection creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "id": {
                          "description": "The collection ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "itemCount": {
                          "type": "number"
                        },
                        "modelCount": {
                          "type": "number"
                        },
                        "name": {
                          "description": "The collection name",
                          "type": "string"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The thumbnail for the collection (if any)",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The collection last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "assetCount",
                        "createdAt",
                        "id",
                        "itemCount",
                        "modelCount",
                        "name",
                        "ownerId",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "collection"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "modelIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "The ids of the models to remove from the collection. (Max 49 at once)"
                  }
                },
                "required": [
                  "modelIds"
                ]
              }
            }
          }
        }
      }
    },
    "/uploads": {
      "post": {
        "operationId": "PostUploads",
        "description": "Create a temporary upload URL for a file. Support multipart uploads. Return a list of URLs for each part of the file.",
        "tags": [
          "Upload"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "upload": {
                      "additionalProperties": false,
                      "properties": {
                        "assetOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "collectionIds": {
                              "description": "The collection ids to add the asset to.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "hide": {
                              "description": "Specify if the asset should be hidden from the user.",
                              "type": "boolean"
                            },
                            "parentId": {
                              "description": "The parentId of the asset.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "authorId": {
                          "type": "string"
                        },
                        "config": {
                          "additionalProperties": false,
                          "type": "object"
                        },
                        "contentType": {
                          "type": "string"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "entityId": {
                          "type": "string"
                        },
                        "errorMessage": {
                          "type": "string"
                        },
                        "fileName": {
                          "type": "string"
                        },
                        "fileSize": {
                          "type": "number"
                        },
                        "id": {
                          "type": "string"
                        },
                        "jobId": {
                          "type": "string"
                        },
                        "kind": {
                          "description": "The kind of the file once validated (example: \"model\")",
                          "enum": [
                            "3d",
                            "asset",
                            "audio",
                            "avatar",
                            "image",
                            "model",
                            "text",
                            "video"
                          ],
                          "type": "string"
                        },
                        "originalFileName": {
                          "type": "string"
                        },
                        "ownerId": {
                          "type": "string"
                        },
                        "parts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "expires": {
                                "type": "string"
                              },
                              "number": {
                                "type": "number"
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "expires",
                              "number",
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "partsCount": {
                          "type": "number"
                        },
                        "provider": {
                          "enum": [
                            "civitai",
                            "huggingface",
                            "other"
                          ],
                          "type": "string"
                        },
                        "source": {
                          "enum": [
                            "civitai",
                            "huggingface",
                            "multipart",
                            "other",
                            "url"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "enum": [
                            "complete",
                            "failed",
                            "imported",
                            "pending",
                            "validated",
                            "validating"
                          ],
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "createdAt",
                        "fileName",
                        "id",
                        "kind",
                        "ownerId",
                        "source",
                        "status",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "upload"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "assetOptions": {
                    "additionalProperties": false,
                    "description": "Asset extra options. Only available for kinds which produce an asset. (Not available for model kind)",
                    "properties": {
                      "collectionIds": {
                        "description": "The collection ids to add the asset to.",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "hide": {
                        "description": "Specify if the asset should be hidden from the user.",
                        "type": "boolean"
                      },
                      "parentId": {
                        "description": "The parentId of the asset.",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "civitaiModelUrl": {
                    "description": "The civitai.com url of the model (example: \"https://civitai.com/models/370194/translucent-subsurface-scattering-test?modelVersionId=413566\").",
                    "type": "string"
                  },
                  "contentType": {
                    "description": "Required for multipart upload. The MIME type of the file (example: \"image/jpeg\")",
                    "type": "string"
                  },
                  "fileName": {
                    "description": "Required for multipart upload. The original file name of the image (example: \"low-res-image.jpg\"). It will be ignored if assetId is provided.",
                    "type": "string"
                  },
                  "fileSize": {
                    "description": "Required for multipart upload. The size of the file in bytes",
                    "type": "number"
                  },
                  "huggingFaceModelName": {
                    "description": "The huggingface.co modelName (example: \"black-forest-labs/FLUX.1-dev\").\nNo need to setup other fields if you setup huggingFaceModelName",
                    "type": "string"
                  },
                  "kind": {
                    "description": "Required for multipart upload and url. The purpose of the file once validated (example: \"model\")",
                    "enum": [
                      "3d",
                      "asset",
                      "audio",
                      "avatar",
                      "image",
                      "model",
                      "text",
                      "video"
                    ],
                    "type": "string"
                  },
                  "parts": {
                    "default": 1,
                    "description": "Required for multipart upload. The number of parts the file will be uploaded in",
                    "maximum": 10000,
                    "minimum": 1,
                    "type": "number"
                  },
                  "url": {
                    "description": "The url where to download the file.\nIf you setup url you MUST setup kind as well.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/uploads/{uploadId}": {
      "get": {
        "operationId": "GetUploads",
        "description": "Get the details of an existing upload",
        "tags": [
          "Upload"
        ],
        "parameters": [
          {
            "name": "uploadId",
            "in": "path",
            "required": true,
            "description": "The upload Id to retrieve",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "upload": {
                      "additionalProperties": false,
                      "properties": {
                        "assetOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "collectionIds": {
                              "description": "The collection ids to add the asset to.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "hide": {
                              "description": "Specify if the asset should be hidden from the user.",
                              "type": "boolean"
                            },
                            "parentId": {
                              "description": "The parentId of the asset.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "authorId": {
                          "type": "string"
                        },
                        "config": {
                          "additionalProperties": false,
                          "type": "object"
                        },
                        "contentType": {
                          "type": "string"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "entityId": {
                          "type": "string"
                        },
                        "errorMessage": {
                          "type": "string"
                        },
                        "fileName": {
                          "type": "string"
                        },
                        "fileSize": {
                          "type": "number"
                        },
                        "id": {
                          "type": "string"
                        },
                        "jobId": {
                          "type": "string"
                        },
                        "kind": {
                          "description": "The kind of the file once validated (example: \"model\")",
                          "enum": [
                            "3d",
                            "asset",
                            "audio",
                            "avatar",
                            "image",
                            "model",
                            "text",
                            "video"
                          ],
                          "type": "string"
                        },
                        "originalFileName": {
                          "type": "string"
                        },
                        "ownerId": {
                          "type": "string"
                        },
                        "parts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "expires": {
                                "type": "string"
                              },
                              "number": {
                                "type": "number"
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "expires",
                              "number",
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "partsCount": {
                          "type": "number"
                        },
                        "provider": {
                          "enum": [
                            "civitai",
                            "huggingface",
                            "other"
                          ],
                          "type": "string"
                        },
                        "source": {
                          "enum": [
                            "civitai",
                            "huggingface",
                            "multipart",
                            "other",
                            "url"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "enum": [
                            "complete",
                            "failed",
                            "imported",
                            "pending",
                            "validated",
                            "validating"
                          ],
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "createdAt",
                        "fileName",
                        "id",
                        "kind",
                        "ownerId",
                        "source",
                        "status",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "upload"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/uploads/{uploadId}/action": {
      "post": {
        "operationId": "PostUploadsAction",
        "description": "Trigger an action on upload",
        "tags": [
          "Upload"
        ],
        "parameters": [
          {
            "name": "uploadId",
            "in": "path",
            "required": true,
            "description": "The upload Id to retrieve",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "upload": {
                      "additionalProperties": false,
                      "properties": {
                        "assetOptions": {
                          "additionalProperties": false,
                          "properties": {
                            "collectionIds": {
                              "description": "The collection ids to add the asset to.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "hide": {
                              "description": "Specify if the asset should be hidden from the user.",
                              "type": "boolean"
                            },
                            "parentId": {
                              "description": "The parentId of the asset.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "authorId": {
                          "type": "string"
                        },
                        "config": {
                          "additionalProperties": false,
                          "type": "object"
                        },
                        "contentType": {
                          "type": "string"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "entityId": {
                          "type": "string"
                        },
                        "errorMessage": {
                          "type": "string"
                        },
                        "fileName": {
                          "type": "string"
                        },
                        "fileSize": {
                          "type": "number"
                        },
                        "id": {
                          "type": "string"
                        },
                        "jobId": {
                          "type": "string"
                        },
                        "kind": {
                          "description": "The kind of the file once validated (example: \"model\")",
                          "enum": [
                            "3d",
                            "asset",
                            "audio",
                            "avatar",
                            "image",
                            "model",
                            "text",
                            "video"
                          ],
                          "type": "string"
                        },
                        "originalFileName": {
                          "type": "string"
                        },
                        "ownerId": {
                          "type": "string"
                        },
                        "parts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "expires": {
                                "type": "string"
                              },
                              "number": {
                                "type": "number"
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "expires",
                              "number",
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "partsCount": {
                          "type": "number"
                        },
                        "provider": {
                          "enum": [
                            "civitai",
                            "huggingface",
                            "other"
                          ],
                          "type": "string"
                        },
                        "source": {
                          "enum": [
                            "civitai",
                            "huggingface",
                            "multipart",
                            "other",
                            "url"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "enum": [
                            "complete",
                            "failed",
                            "imported",
                            "pending",
                            "validated",
                            "validating"
                          ],
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "createdAt",
                        "fileName",
                        "id",
                        "kind",
                        "ownerId",
                        "source",
                        "status",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "upload"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "action": {
                    "description": "The action to perform on an upload, currently only \"upload-complete\" is supported",
                    "enum": [
                      "complete"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "action"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/recommendations/models": {
      "get": {
        "operationId": "GetRecommendationsModels",
        "description": "List recommended models matching the given filters",
        "tags": [
          "Discoverability"
        ],
        "parameters": [
          {
            "name": "privacy",
            "in": "query",
            "required": false,
            "description": "Filter models by privacy level.\nDefault: `private`. Values: `private`, `public`",
            "schema": {
              "type": "string",
              "default": "private",
              "enum": [
                "private",
                "public"
              ]
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Filter models by type.\nExamples: `flux.1`, `flux.1-lora`, etc. Default: no filter",
            "schema": {
              "type": "string",
              "enum": [
                "flux.1",
                "flux.1-lora",
                "flux.1-kontext-dev",
                "flux.1-krea-dev",
                "flux.1-kontext-lora",
                "flux.1-krea-lora",
                "flux.1-composition",
                "flux.1-pro",
                "flux1.1-pro",
                "flux.1.1-pro-ultra",
                "flux.2-dev-lora",
                "flux.2-dev-edit-lora",
                "flux.2-klein-4b-lora",
                "flux.2-klein-9b-lora",
                "flux.2-klein-base-4b-lora",
                "flux.2-klein-base-9b-lora",
                "flux.2-klein-4b-edit-lora",
                "flux.2-klein-9b-edit-lora",
                "flux.2-klein-base-4b-edit-lora",
                "flux.2-klein-base-9b-edit-lora",
                "gpt-image-1",
                "qwen-image-lora",
                "qwen-image-2512-lora",
                "qwen-image-edit-lora",
                "qwen-image-edit-2509-lora",
                "qwen-image-edit-2511-lora",
                "zimage-lora",
                "zimage-turbo-lora",
                "zimage-de-turbo-lora",
                "custom",
                "elevenlabs-voice"
              ]
            }
          },
          {
            "name": "capabilities",
            "in": "query",
            "required": false,
            "description": "Filter models by capabilities. Multiple values comma-separated. Can be any of the following values: txt2img, txt2img_ip_adapter, txt2img_texture, img2img, img2img_ip_adapter, img2img_texture, inpaint, outpaint, inpaint_ip_adapter, controlnet, controlnet_ip_adapter, reference, reference_texture, controlnet_reference, controlnet_img2img, controlnet_inpaint, controlnet_inpaint_ip_adapter, controlnet_texture, img23d, txt23d, video23d, 3d23d, img2video, txt2video, video2video, video2img, txt2audio, audio2audio, audio2video, video2audio, txt2txt, img2txt, audio2txt, video2txt.\nExamples: `txt2img`, `img2img`. Also accepts prefixes or suffixes values such as `txt2`, `img2`, `inpaint`, `control`. Default: no filter",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "txt2img",
                  "txt2img_ip_adapter",
                  "txt2img_texture",
                  "img2img",
                  "img2img_ip_adapter",
                  "img2img_texture",
                  "inpaint",
                  "outpaint",
                  "inpaint_ip_adapter",
                  "controlnet",
                  "controlnet_ip_adapter",
                  "reference",
                  "reference_texture",
                  "controlnet_reference",
                  "controlnet_img2img",
                  "controlnet_inpaint",
                  "controlnet_inpaint_ip_adapter",
                  "controlnet_texture",
                  "img23d",
                  "txt23d",
                  "video23d",
                  "3d23d",
                  "img2video",
                  "txt2video",
                  "video2video",
                  "video2img",
                  "txt2audio",
                  "audio2audio",
                  "audio2video",
                  "video2audio",
                  "txt2txt",
                  "img2txt",
                  "audio2txt",
                  "video2txt"
                ]
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "description": "Filter models by tags. Multiple tags comma-separated.\nExample: `anime,portrait,style`. Default: no filter",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "excludeModelIds",
            "in": "query",
            "required": false,
            "description": "Exclude specific models by their IDs. Multiple IDs comma-separated. Example: `model1,model2,model3`. Default: no exclusions",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "excludeTypes",
            "in": "query",
            "required": false,
            "description": "Exclude models by type. Multiple types comma-separated. Example: `flux.1,flux.1-lora`. Default: no exclusions",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "The maximum number of models to return. Default: `10`, Maximum: `30`",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 30,
              "default": "10"
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "Pagination token to retrieve the next page of results. Use the `nextToken` from the previous response. Default: first page",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "models": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "accessRestrictions": {
                            "description": "The access restrictions of the model\n0: Free plan\n25: Starter plan\n50: Pro plan\n75: Max plan\n100: Enterprise plan",
                            "enum": [
                              0,
                              100,
                              25,
                              50,
                              75
                            ],
                            "type": "number"
                          },
                          "authorId": {
                            "description": "The author user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                            "type": "string"
                          },
                          "capabilities": {
                            "description": "List of model capabilities (example: [\"txt2img\", \"img2img\", \"txt2img_ip_adapter\", ...])",
                            "items": {
                              "enum": [
                                "3d23d",
                                "audio2audio",
                                "audio2txt",
                                "audio2video",
                                "controlnet",
                                "controlnet_img2img",
                                "controlnet_inpaint",
                                "controlnet_inpaint_ip_adapter",
                                "controlnet_ip_adapter",
                                "controlnet_reference",
                                "controlnet_texture",
                                "img23d",
                                "img2img",
                                "img2img_ip_adapter",
                                "img2img_texture",
                                "img2txt",
                                "img2video",
                                "inpaint",
                                "inpaint_ip_adapter",
                                "outpaint",
                                "reference",
                                "reference_texture",
                                "txt23d",
                                "txt2audio",
                                "txt2img",
                                "txt2img_ip_adapter",
                                "txt2img_texture",
                                "txt2txt",
                                "txt2video",
                                "video23d",
                                "video2audio",
                                "video2img",
                                "video2txt",
                                "video2video"
                              ],
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "class": {
                            "additionalProperties": false,
                            "description": "The class of the model",
                            "properties": {
                              "category": {
                                "description": "The category slug of the class (example: \"art-style\")",
                                "type": "string"
                              },
                              "conceptPrompt": {
                                "description": "The concept prompt of the class (example: \"a sks character design\")",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID of the class. Only available for legacy models.",
                                "type": "string"
                              },
                              "name": {
                                "description": "The class name (example: \"Character Design\")",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "The class prompt (example: \"a character design\")",
                                "type": "string"
                              },
                              "slug": {
                                "description": "The class slug (example: \"art-style-character-design\")",
                                "type": "string"
                              },
                              "status": {
                                "description": "The class status (only published classes are listed, but unpublished classes can still appear in existing models)",
                                "enum": [
                                  "published",
                                  "unpublished"
                                ],
                                "type": "string"
                              },
                              "thumbnails": {
                                "description": "Some example images URLs to showcase the class",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              }
                            },
                            "required": [
                              "category",
                              "conceptPrompt",
                              "modelId",
                              "name",
                              "prompt",
                              "slug",
                              "status",
                              "thumbnails"
                            ],
                            "type": "object"
                          },
                          "collectionIds": {
                            "description": "A list of CollectionId this model belongs to",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "compliantModelIds": {
                            "description": "List of base model IDs compliant with the model (example: [\"flux.1-dev\", \"flux.1-schnell\"])\nThis attribute is mainly used for Flux LoRA models",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "concepts": {
                            "description": "The concepts is required for the type model: composition",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "modelEpoch": {
                                  "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                  "type": "string"
                                },
                                "modelId": {
                                  "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                  "type": "string"
                                },
                                "scale": {
                                  "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                  "maximum": 2,
                                  "minimum": -2,
                                  "type": "number"
                                }
                              },
                              "required": [
                                "modelId",
                                "scale"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "createdAt": {
                            "description": "The model creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "custom": {
                            "description": "Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint",
                            "type": "boolean"
                          },
                          "deletedAt": {
                            "description": "The model deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted models, listed with `status=deleted`.",
                            "type": "string"
                          },
                          "disableRefund": {
                            "description": "When true, credits spent on a generation with this model are not\nautomatically refunded if the generation fails. Absent or false means\nfailed generations are refunded as usual.",
                            "type": "boolean"
                          },
                          "epoch": {
                            "description": "The epoch of the model. Only available for Flux Lora Trained models.\nIf not set, uses the final model epoch (latest)",
                            "type": "string"
                          },
                          "epochs": {
                            "description": "The epochs of the model. Only available for Flux Lora Trained models.",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "assets": {
                                  "description": "The assets of the epoch if sample prompts as been supplied during training",
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "assetId": {
                                        "description": "The AssetId of the image during training (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                        "type": "string"
                                      },
                                      "url": {
                                        "description": "The url of the asset",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "assetId",
                                      "url"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "epoch": {
                                  "description": "The epoch hash to identify the epoch",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "epoch"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "exampleAssetIds": {
                            "description": "List of all example asset IDs setup by the model owner",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "id": {
                            "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                            "type": "string"
                          },
                          "inputs": {
                            "description": "The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}",
                            "items": {
                              "additionalProperties": false,
                              "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                              "properties": {
                                "allowedValues": {
                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                  "items": {},
                                  "type": "array"
                                },
                                "backgroundBehavior": {
                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                  "enum": [
                                    "opaque",
                                    "transparent"
                                  ],
                                  "type": "string"
                                },
                                "color": {
                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                  "type": "boolean"
                                },
                                "costImpact": {
                                  "description": "Whether this input affects the model's cost calculation",
                                  "type": "boolean"
                                },
                                "default": {
                                  "description": "The default value for the input"
                                },
                                "description": {
                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                  "type": "string"
                                },
                                "group": {
                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                  "type": "string"
                                },
                                "hint": {
                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                  "type": "string"
                                },
                                "inputs": {
                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                  "items": {
                                    "additionalProperties": true,
                                    "properties": {},
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "kind": {
                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                  "enum": [
                                    "3d",
                                    "audio",
                                    "document",
                                    "image",
                                    "image-hdr",
                                    "json",
                                    "text",
                                    "video"
                                  ],
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label displayed in the UI for this input",
                                  "type": "string"
                                },
                                "maskFrom": {
                                  "description": "The name of the file input field to use as the mask source",
                                  "type": "string"
                                },
                                "max": {
                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                  "type": "number"
                                },
                                "maxDuration": {
                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                  "type": "number"
                                },
                                "maxLength": {
                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                  "type": "number"
                                },
                                "maxSize": {
                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                  "type": "number"
                                },
                                "min": {
                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                  "type": "number"
                                },
                                "minDuration": {
                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                  "type": "number"
                                },
                                "minLength": {
                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                  "type": "number"
                                },
                                "modelTypes": {
                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                  "items": {
                                    "enum": [
                                      "custom",
                                      "elevenlabs-voice",
                                      "flux.1",
                                      "flux.1-composition",
                                      "flux.1-kontext-dev",
                                      "flux.1-kontext-lora",
                                      "flux.1-krea-dev",
                                      "flux.1-krea-lora",
                                      "flux.1-lora",
                                      "flux.1-pro",
                                      "flux.1.1-pro-ultra",
                                      "flux.2-dev-edit-lora",
                                      "flux.2-dev-lora",
                                      "flux.2-klein-4b-edit-lora",
                                      "flux.2-klein-4b-lora",
                                      "flux.2-klein-9b-edit-lora",
                                      "flux.2-klein-9b-lora",
                                      "flux.2-klein-base-4b-edit-lora",
                                      "flux.2-klein-base-4b-lora",
                                      "flux.2-klein-base-9b-edit-lora",
                                      "flux.2-klein-base-9b-lora",
                                      "flux1.1-pro",
                                      "gpt-image-1",
                                      "qwen-image-2512-lora",
                                      "qwen-image-edit-2509-lora",
                                      "qwen-image-edit-2511-lora",
                                      "qwen-image-edit-lora",
                                      "qwen-image-lora",
                                      "zimage-de-turbo-lora",
                                      "zimage-lora",
                                      "zimage-turbo-lora"
                                    ],
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "name": {
                                  "description": "The name that must be user to call the model through the API",
                                  "type": "string"
                                },
                                "parent": {
                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                  "type": "boolean"
                                },
                                "placeholder": {
                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                  "type": "string"
                                },
                                "prompt": {
                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                  "type": "boolean"
                                },
                                "promptSpark": {
                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                  "type": "boolean"
                                },
                                "required": {
                                  "additionalProperties": false,
                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                  "properties": {
                                    "always": {
                                      "description": "Whether the input is always required",
                                      "type": "boolean"
                                    },
                                    "conditional": {
                                      "additionalProperties": false,
                                      "description": "Makes this input required when other inputs have one of the listed values",
                                      "properties": {
                                        "operator": {
                                          "default": "and",
                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                          "enum": [
                                            "and",
                                            "or"
                                          ],
                                          "type": "string"
                                        },
                                        "values": {
                                          "additionalProperties": false,
                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                          "type": "object"
                                        }
                                      },
                                      "required": [
                                        "values"
                                      ],
                                      "type": "object"
                                    },
                                    "ifDefined": {
                                      "additionalProperties": false,
                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                      "type": "object"
                                    },
                                    "ifNotDefined": {
                                      "additionalProperties": false,
                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                      "type": "object"
                                    }
                                  },
                                  "type": "object"
                                },
                                "step": {
                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                  "minimum": 1,
                                  "type": "number"
                                },
                                "type": {
                                  "description": "The data type of the input",
                                  "enum": [
                                    "boolean",
                                    "file",
                                    "file_array",
                                    "inputs_array",
                                    "model",
                                    "model_array",
                                    "number",
                                    "number_array",
                                    "string",
                                    "string_array"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "name",
                                "type"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "jobId": {
                            "description": "The ID of the job that trained the model, returned to the model owner only\n(example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                            "type": "string"
                          },
                          "modelKeyword": {
                            "description": "The model keyword, this is a legacy parameter, please use conceptPrompt in parameters",
                            "type": "string"
                          },
                          "name": {
                            "description": "The model name (example: \"Cinematic Realism\")",
                            "type": "string"
                          },
                          "negativePromptEmbedding": {
                            "description": "Fine-tune the model's inferences with negative prompt embedding",
                            "type": "string"
                          },
                          "ownerId": {
                            "description": "The owner ID (example: \"team_VFhihHKMRZyDDnZAJwLb2Q\")",
                            "type": "string"
                          },
                          "parameters": {
                            "additionalProperties": false,
                            "description": "The parameters of the model",
                            "properties": {
                              "age": {
                                "description": "Age group of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "batchSize": {
                                "default": 1,
                                "description": "The batch size\nLess steps, and will increase the learning rate\n\nOnly available for Flux LoRA training",
                                "maximum": 4,
                                "minimum": 1,
                                "type": "number"
                              },
                              "classPrompt": {
                                "description": "The prompt to specify images in the same class as provided instance images\n\nDeprecated legacy training parameter.",
                                "type": "string"
                              },
                              "cloneType": {
                                "default": "instant",
                                "description": "Type of voice cloning: \"instant\" (fast) or \"professional\" (higher quality, requires captcha)\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "conceptPrompt": {
                                "description": "The prompt with identifier specifying the instance (or subject) of the class (example: \"a daiton dog\")\n\nDefault value varies depending on the model type. For Flux LoRA, the default is an empty string.",
                                "type": "string"
                              },
                              "gender": {
                                "description": "Gender of the voice (for professional cloning)\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "language": {
                                "default": "en",
                                "description": "Language of the audio samples (ISO 639-1 code)\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "learningRate": {
                                "default": 0.000005,
                                "description": "Initial learning rate (after the potential warmup period)\n\nDefault value varies depending on the model type. For Flux LoRA, the default is 0.0001.",
                                "exclusiveMinimum": true,
                                "minimum": 0,
                                "type": "number"
                              },
                              "learningRateTextEncoder": {
                                "default": 0.00005,
                                "description": "Initial learning rate (after the potential warmup period) for the text encoder\n\nMaximum [Flux LoRA: 0.001]\nDefault [Flux LoRA: 0.00001]\nMinimum [Flux LoRA: 0.000001]",
                                "exclusiveMinimum": true,
                                "maximum": 0.001,
                                "minimum": 0,
                                "type": "number"
                              },
                              "learningRateUnet": {
                                "default": 0.0005,
                                "description": "Initial learning rate (after the potential warmup period) for the UNet\n\nDeprecated legacy training parameter.",
                                "exclusiveMinimum": true,
                                "minimum": 0,
                                "type": "number"
                              },
                              "lrScheduler": {
                                "default": "constant",
                                "description": "The scheduler type to use (default: \"constant\")\n\nDeprecated legacy training parameter.",
                                "enum": [
                                  "constant",
                                  "constant-with-warmup",
                                  "cosine",
                                  "cosine-with-restarts",
                                  "linear",
                                  "polynomial"
                                ],
                                "type": "string"
                              },
                              "maxTrainSteps": {
                                "description": "Maximum number of training steps to execute (default: varies depending on the model type)\n\nDefault value varies depending on the model type:\n- For Flux: number of training images * 100\n\nMaximum value varies depending on the model type:\n- For Flux: [0, 10000]",
                                "maximum": 40000,
                                "minimum": 0,
                                "type": "number"
                              },
                              "nbEpochs": {
                                "default": 10,
                                "description": "The number of epochs to train for\n\nOnly available for Flux LoRA training",
                                "maximum": 30,
                                "minimum": 1,
                                "type": "number"
                              },
                              "nbRepeats": {
                                "default": 20,
                                "description": "The number of times to repeat the training\n\nOnly available for Flux LoRA training",
                                "maximum": 30,
                                "minimum": 1,
                                "type": "number"
                              },
                              "numTextTrainSteps": {
                                "default": 0,
                                "description": "The number of training steps for the text encoder\n\nDeprecated legacy training parameter.",
                                "maximum": 40000,
                                "minimum": 0,
                                "type": "number"
                              },
                              "numUNetTrainSteps": {
                                "default": 0,
                                "description": "The number of training steps for the UNet\n\nDeprecated legacy training parameter.",
                                "maximum": 40000,
                                "minimum": 0,
                                "type": "number"
                              },
                              "optimizeFor": {
                                "description": "Optimize the model training task for a specific type of input images. The available values are:\n- \"likeness\": optimize training for likeness or portrait (targets specific transformer blocks)\n- \"all\": train all transformer blocks\n- \"none\": train no specific transformer blocks\n\nThis parameter controls which double and single transformer blocks are trained\nduring the LoRA training process.\n\nOnly available for Flux LoRA training",
                                "enum": [
                                  "likeness"
                                ],
                                "type": "string"
                              },
                              "priorLossWeight": {
                                "default": 1,
                                "description": "The weight of prior preservation loss\n\nDeprecated legacy training parameter.",
                                "exclusiveMinimum": true,
                                "maximum": 1.7976931348623157,
                                "minimum": 0,
                                "type": "number"
                              },
                              "randomCrop": {
                                "default": false,
                                "description": "Whether to random crop or center crop images before resizing to the working resolution\n\nDeprecated legacy training parameter.",
                                "type": "boolean"
                              },
                              "randomCropRatio": {
                                "default": 0,
                                "description": "Ratio of random crops\n\nDeprecated legacy training parameter.",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "randomCropScale": {
                                "default": 1,
                                "description": "Scale of random crops\n\nDeprecated legacy training parameter.",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "rank": {
                                "default": 16,
                                "description": "The dimension of the LoRA update matrices\n\nOnly available for Flux LoRA and Musubi training\n\nDefault value varies depending on the model type:\n- For Flux: 16\n- For Musubi: 64\n\nEach trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])",
                                "maximum": 128,
                                "minimum": 2,
                                "type": "number"
                              },
                              "removeBackgroundNoise": {
                                "default": false,
                                "description": "Whether to remove background noise from audio samples before cloning.\nWhen enabled, each sample must be at least 5 seconds long.\n\nOnly available for ElevenLabs voice training",
                                "type": "boolean"
                              },
                              "samplePrompts": {
                                "default": [],
                                "description": "The prompts to use for each epoch\nOnly available for Flux LoRA training",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "sampleSourceImages": {
                                "default": [],
                                "description": "The sample prompt images (AssetIds) paired with samplePrompts\nOnly available for Flux LoRA training\nMust be the same length as samplePrompts",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "scaleLr": {
                                "default": false,
                                "description": "Whether to scale the learning rate\n\nNote: Legacy parameter, will be ignored\n\nDeprecated legacy training parameter.",
                                "type": "boolean"
                              },
                              "seed": {
                                "description": "Used to reproduce previous results. Default: randomly generated number.\n\nDeprecated legacy training parameter.",
                                "maximum": 9007199254740991,
                                "minimum": 0,
                                "type": "number"
                              },
                              "textEncoderTrainingRatio": {
                                "default": 0.2,
                                "description": "Whether to train the text encoder or not\n\nExample: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps\n\nNote: Legacy parameter, please use `numTextTrainSteps` and `numUNetTrainSteps`\n\nDeprecated legacy training parameter.",
                                "maximum": 0.99,
                                "minimum": 0,
                                "type": "number"
                              },
                              "validationFrequency": {
                                "default": 0,
                                "description": "Validation frequency. Cannot be greater than maxTrainSteps value\n\nDeprecated legacy training parameter.",
                                "minimum": 0,
                                "type": "number"
                              },
                              "validationPrompt": {
                                "default": "",
                                "description": "Validation prompt\n\nDeprecated legacy training parameter.",
                                "type": "string"
                              },
                              "voiceDescription": {
                                "description": "Description of the voice characteristics\n\nOnly available for ElevenLabs voice training",
                                "type": "string"
                              },
                              "wandbKey": {
                                "description": "The Weights And Bias key to use for logging. The maximum length is 40 characters",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "parentModelId": {
                            "description": "The id of the parent model",
                            "type": "string"
                          },
                          "performanceStats": {
                            "additionalProperties": false,
                            "description": "Aggregated performance stats",
                            "properties": {
                              "default": {
                                "description": "Default variant key for quick model comparison",
                                "type": "string"
                              },
                              "variants": {
                                "description": "Performance metrics per variant",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "Performance stats for a model variant",
                                  "properties": {
                                    "arenaScore": {
                                      "additionalProperties": false,
                                      "description": "External quality score from arena.ai leaderboard",
                                      "properties": {
                                        "arenaCategory": {
                                          "description": "Arena category (example: \"text_to_image\", \"image_to_video\")",
                                          "type": "string"
                                        },
                                        "arenaModelName": {
                                          "description": "Model name on arena.ai",
                                          "type": "string"
                                        },
                                        "fetchedAt": {
                                          "description": "When this score was last fetched (ISO date)",
                                          "type": "string"
                                        },
                                        "rank": {
                                          "description": "Rank in the arena category",
                                          "type": "number"
                                        },
                                        "rating": {
                                          "description": "ELO rating",
                                          "type": "number"
                                        },
                                        "ratingLower": {
                                          "description": "ELO rating confidence interval lower bound",
                                          "type": "number"
                                        },
                                        "ratingUpper": {
                                          "description": "ELO rating confidence interval upper bound",
                                          "type": "number"
                                        },
                                        "votes": {
                                          "description": "Number of human votes",
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "arenaCategory",
                                        "arenaModelName",
                                        "fetchedAt",
                                        "rank",
                                        "rating",
                                        "ratingLower",
                                        "ratingUpper",
                                        "votes"
                                      ],
                                      "type": "object"
                                    },
                                    "capability": {
                                      "description": "The generation capability (example: \"txt2img\", \"img2video\", \"txt2audio\")",
                                      "type": "string"
                                    },
                                    "computedAt": {
                                      "description": "When these stats were last computed (ISO date)",
                                      "type": "string"
                                    },
                                    "costPerAssetMaxCU": {
                                      "description": "Maximum cost per output asset (CU)",
                                      "type": "number"
                                    },
                                    "costPerAssetMinCU": {
                                      "description": "Minimum cost per output asset (CU)",
                                      "type": "number"
                                    },
                                    "costPerAssetP50CU": {
                                      "description": "Median cost per output asset (CU)",
                                      "type": "number"
                                    },
                                    "inferenceLatencyP50Sec": {
                                      "description": "Inference latency P50 per output asset (seconds)",
                                      "type": "number"
                                    },
                                    "inferenceLatencyP75Sec": {
                                      "description": "Inference latency P75 per output asset (seconds)",
                                      "type": "number"
                                    },
                                    "resolution": {
                                      "description": "The resolution bucket (example: \"0.5K\", \"1K\", \"2K\", \"4K\")",
                                      "type": "string"
                                    },
                                    "totalLatencyP50Sec": {
                                      "description": "Total latency P50 per output asset, including queue time (seconds)",
                                      "type": "number"
                                    },
                                    "totalLatencyP75Sec": {
                                      "description": "Total latency P75 per output asset, including queue time (seconds)",
                                      "type": "number"
                                    },
                                    "variantKey": {
                                      "description": "Unique variant identifier (example: \"txt2img:1K\", \"img2video:2K\", \"txt2audio\")",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "capability",
                                    "computedAt",
                                    "variantKey"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              }
                            },
                            "required": [
                              "variants"
                            ],
                            "type": "object"
                          },
                          "privacy": {
                            "default": "private",
                            "description": "The privacy of the model (default: private)",
                            "enum": [
                              "private",
                              "public",
                              "unlisted"
                            ],
                            "type": "string"
                          },
                          "promptEmbedding": {
                            "description": "Fine-tune the model's inferences with prompt embedding",
                            "type": "string"
                          },
                          "shortDescription": {
                            "description": "The model short description (example: \"This model generates highly detailed cinematic scenes.\")",
                            "type": "string"
                          },
                          "softDeletionOn": {
                            "description": "The date when the model will be soft deleted (only for Free plan)",
                            "type": "string"
                          },
                          "source": {
                            "description": "The source of the model",
                            "enum": [
                              "civitai",
                              "huggingface",
                              "other",
                              "scenario"
                            ],
                            "type": "string"
                          },
                          "status": {
                            "description": "The model status",
                            "enum": [
                              "copying",
                              "failed",
                              "new",
                              "trained",
                              "training",
                              "training-canceled"
                            ],
                            "type": "string"
                          },
                          "tags": {
                            "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "thumbnail": {
                            "additionalProperties": false,
                            "description": "A thumbnail for your model",
                            "properties": {
                              "assetId": {
                                "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "url": {
                                "description": "The url of the image used as a thumbnail for your model",
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "trainingImagePairs": {
                            "description": "Array of training image pairs",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "instruction": {
                                  "description": "The instruction for the image pair, source to target",
                                  "type": "string"
                                },
                                "sourceId": {
                                  "description": "The source asset ID (must be a training asset)",
                                  "type": "string"
                                },
                                "targetId": {
                                  "description": "The target asset ID (must be a training asset)",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "trainingImages": {
                            "description": "The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "automaticCaptioning": {
                                  "description": "Automatic captioning of the image",
                                  "type": "string"
                                },
                                "createdAt": {
                                  "description": "The training image upload date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                                  "type": "string"
                                },
                                "description": {
                                  "description": "Description for the image",
                                  "type": "string"
                                },
                                "downloadUrl": {
                                  "description": "The URL of the image",
                                  "type": "string"
                                },
                                "id": {
                                  "description": "The training image ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                  "type": "string"
                                },
                                "name": {
                                  "description": "The original file name of the image (example: \"my-training-image.jpg\")",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "automaticCaptioning",
                                "createdAt",
                                "description",
                                "downloadUrl",
                                "id",
                                "name"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "trainingImagesNumber": {
                            "description": "The total number of training images",
                            "type": "number"
                          },
                          "trainingProgress": {
                            "additionalProperties": false,
                            "description": "Additional information about the training progress of the model",
                            "properties": {
                              "captchaImageUrl": {
                                "description": "Signed URL of the captcha image to read aloud during PVC voice cloning.\nOnly present when stage === 'pending-captcha'. Overwritten on each retry.",
                                "type": "string"
                              },
                              "position": {
                                "description": "Position of the job in the queue (ie. the number of job in the queue before this one)",
                                "type": "number"
                              },
                              "progress": {
                                "description": "The progress of the job",
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "remainingTimeMs": {
                                "description": "The remaining time in milliseconds",
                                "type": "number"
                              },
                              "retryCount": {
                                "description": "Number of consecutive PVC step 2 / step 3 failures on this voice model.\nThe model is marked Failed when this reaches the platform's max retries.",
                                "type": "number"
                              },
                              "retryableError": {
                                "description": "Last recoverable failure message during PVC. Present when the model has\nbounced back to stage === 'ready-for-captcha' after a step 2 or step 3\nfailure (e.g. captcha rejected, time limit exceeded). Surface above the\nretry button so the user understands why they're back here.",
                                "type": "string"
                              },
                              "stage": {
                                "description": "The stage of the request",
                                "enum": [
                                  "pending",
                                  "pending-captcha",
                                  "queued-for-train",
                                  "ready-for-captcha",
                                  "running-train",
                                  "starting-train"
                                ],
                                "type": "string"
                              },
                              "startedAt": {
                                "description": "The timestamp in millisecond marking the start of the process",
                                "type": "number"
                              },
                              "updatedAt": {
                                "description": "Timestamp in milliseconds of the last time the training progress was updated",
                                "type": "number"
                              }
                            },
                            "required": [
                              "stage",
                              "updatedAt"
                            ],
                            "type": "object"
                          },
                          "trainingStats": {
                            "additionalProperties": false,
                            "description": "Additional information about the model's training",
                            "properties": {
                              "endedAt": {
                                "description": "The training end time as an ISO date string",
                                "type": "string"
                              },
                              "queueDuration": {
                                "description": "The training queued duration in seconds",
                                "type": "number"
                              },
                              "startedAt": {
                                "description": "The training start time as an ISO date string",
                                "type": "string"
                              },
                              "trainDuration": {
                                "description": "The training duration in seconds",
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "type": {
                            "description": "The model type (example: \"flux.1-lora\")",
                            "enum": [
                              "custom",
                              "elevenlabs-voice",
                              "flux.1",
                              "flux.1-composition",
                              "flux.1-kontext-dev",
                              "flux.1-kontext-lora",
                              "flux.1-krea-dev",
                              "flux.1-krea-lora",
                              "flux.1-lora",
                              "flux.1-pro",
                              "flux.1.1-pro-ultra",
                              "flux.2-dev-edit-lora",
                              "flux.2-dev-lora",
                              "flux.2-klein-4b-edit-lora",
                              "flux.2-klein-4b-lora",
                              "flux.2-klein-9b-edit-lora",
                              "flux.2-klein-9b-lora",
                              "flux.2-klein-base-4b-edit-lora",
                              "flux.2-klein-base-4b-lora",
                              "flux.2-klein-base-9b-edit-lora",
                              "flux.2-klein-base-9b-lora",
                              "flux1.1-pro",
                              "gpt-image-1",
                              "qwen-image-2512-lora",
                              "qwen-image-edit-2509-lora",
                              "qwen-image-edit-2511-lora",
                              "qwen-image-edit-lora",
                              "qwen-image-lora",
                              "zimage-de-turbo-lora",
                              "zimage-lora",
                              "zimage-turbo-lora"
                            ],
                            "type": "string"
                          },
                          "uiConfig": {
                            "additionalProperties": false,
                            "description": "The UI configuration for the model",
                            "properties": {
                              "inputProperties": {
                                "additionalProperties": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "collapsed": {
                                      "type": "boolean"
                                    }
                                  },
                                  "type": "object"
                                },
                                "description": "Configuration for the input properties",
                                "type": "object"
                              },
                              "lorasComponent": {
                                "additionalProperties": false,
                                "description": "Configuration for the loras component",
                                "properties": {
                                  "label": {
                                    "description": "The label of the component",
                                    "type": "string"
                                  },
                                  "modelIdInput": {
                                    "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                    "type": "string"
                                  },
                                  "modelInput": {
                                    "description": "The input name of the model (model_array)",
                                    "type": "string"
                                  },
                                  "scaleInput": {
                                    "description": "The input name of the scale (number_array)",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label",
                                  "modelInput",
                                  "scaleInput"
                                ],
                                "type": "object"
                              },
                              "outputProperties": {
                                "additionalProperties": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "label": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "label"
                                  ],
                                  "type": "object"
                                },
                                "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                                "type": "object"
                              },
                              "presets": {
                                "description": "Configuration for the presets",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "fields": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "presets": {
                                      "additionalProperties": false,
                                      "type": "object"
                                    }
                                  },
                                  "required": [
                                    "fields",
                                    "presets"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "resolutionComponent": {
                                "additionalProperties": false,
                                "description": "Configuration for the resolution component",
                                "properties": {
                                  "heightInput": {
                                    "description": "The input name of the height",
                                    "type": "string"
                                  },
                                  "label": {
                                    "description": "The label of the component",
                                    "type": "string"
                                  },
                                  "presets": {
                                    "description": "The resolution presets",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "height": {
                                          "type": "number"
                                        },
                                        "label": {
                                          "type": "string"
                                        },
                                        "width": {
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "height",
                                        "label",
                                        "width"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "widthInput": {
                                    "description": "The input name of the width",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "heightInput",
                                  "label",
                                  "presets",
                                  "widthInput"
                                ],
                                "type": "object"
                              },
                              "selects": {
                                "additionalProperties": {
                                  "additionalProperties": false,
                                  "type": "object"
                                },
                                "description": "Configuration for the selects",
                                "type": "object"
                              },
                              "triggerGenerate": {
                                "additionalProperties": false,
                                "description": "Configuration for the trigger generate button",
                                "properties": {
                                  "after": {
                                    "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                    "type": "string"
                                  },
                                  "label": {
                                    "type": "string"
                                  },
                                  "position": {
                                    "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                    "enum": [
                                      "bottom",
                                      "top"
                                    ],
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              }
                            },
                            "type": "object"
                          },
                          "updatedAt": {
                            "description": "The model last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "userId": {
                            "description": "(Deprecated) The user ID (example: \"user_VFhihHKMRZyDDnZAJwLb2Q\")",
                            "type": "string"
                          }
                        },
                        "required": [
                          "capabilities",
                          "collectionIds",
                          "createdAt",
                          "custom",
                          "exampleAssetIds",
                          "id",
                          "privacy",
                          "source",
                          "status",
                          "tags",
                          "trainingImagesNumber",
                          "type",
                          "updatedAt"
                        ],
                        "type": "object"
                      }
                    },
                    "nextToken": {
                      "type": "string",
                      "description": "A token to query the next page of recommendations"
                    }
                  },
                  "required": [
                    "models"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/generate/custom/{modelId}": {
      "post": {
        "operationId": "PostGenerateCustom",
        "description": "Generate with any model (Image, Video, Audio, 3d, Text).\n\nYou can retrieve the model inputs from the `GET /models/{modelId}` endpoint.",
        "tags": [
          "Generate"
        ],
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          },
          {
            "name": "ipDetection",
            "in": "query",
            "required": false,
            "description": "Set to \"true\" to run an IP-detection preflight on this request. Combine with ?dryRun=true for an advisory check that returns findings without generating — note the detection fee is charged even then. Ignored (no detection, no fee) for a team without the Enterprise plan. To check prompts or assets without a generation, use POST /generate/ip-detection.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "description": "The request body for the custom generation must be retrieve from GET /models/{modelId} inputs fields"
              }
            }
          }
        }
      }
    },
    "/generate/quality-gate": {
      "post": {
        "operationId": "PostGenerateQualityGate",
        "description": "Verify an image against the applicable brand/style/campaign briefs and generic AI-quality checks; returns a combined score, verdict, reasons, and suggested fixes. The verdict is stored on the asset: pass an asset id to re-score it in place (for example after the brief changed), or a data URL to upload the image as an asset (deduplicated on content) and score it.",
        "tags": [
          "Quality Gate"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "aiQuality": {
                      "additionalProperties": false,
                      "description": "Always-on generic AI-quality dimension",
                      "properties": {
                        "reasons": {
                          "description": "Why the image scored as it did",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "score": {
                          "description": "0–100; higher is better (more compliant / less AI-looking)",
                          "type": "number"
                        },
                        "suggestions": {
                          "description": "Actionable suggestions to improve the score",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "required": [
                        "reasons",
                        "score",
                        "suggestions"
                      ],
                      "type": "object"
                    },
                    "appliedBriefs": {
                      "description": "Briefs that contributed to this verdict",
                      "items": {
                        "additionalProperties": false,
                        "description": "Identifies a brief that contributed to a verdict.",
                        "properties": {
                          "id": {
                            "description": "The brief's id",
                            "type": "string"
                          },
                          "level": {
                            "description": "The brief's scope",
                            "enum": [
                              "project",
                              "team"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "level"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "briefCompliance": {
                      "additionalProperties": false,
                      "description": "Brief-compliance dimension; omitted when no brief applied",
                      "properties": {
                        "reasons": {
                          "description": "Why the image scored as it did",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "score": {
                          "description": "0–100; higher is better (more compliant / less AI-looking)",
                          "type": "number"
                        },
                        "suggestions": {
                          "description": "Actionable suggestions to improve the score",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "required": [
                        "reasons",
                        "score",
                        "suggestions"
                      ],
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "overallScore": {
                      "description": "0–100 combined score",
                      "type": "number"
                    },
                    "sensitivity": {
                      "description": "Sensitivity used to derive the verdict",
                      "enum": [
                        "high",
                        "low",
                        "medium"
                      ],
                      "type": "string"
                    },
                    "verdict": {
                      "description": "pass / warn / fail: the worse of overallScore and aiQuality.score, each read against sensitivity",
                      "enum": [
                        "fail",
                        "pass",
                        "warn"
                      ],
                      "type": "string"
                    },
                    "asset": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "automaticCaptioning": {
                          "description": "Automatic captioning of the asset",
                          "type": "string"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this asset belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                          "type": "string"
                        },
                        "description": {
                          "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                          "type": "string"
                        },
                        "editCapabilities": {
                          "description": "List of edit capabilities",
                          "items": {
                            "enum": [
                              "DETECTION",
                              "GENERATIVE_FILL",
                              "PIXELATE",
                              "PROMPT_EDITING",
                              "REFINE",
                              "REFRAME",
                              "REMOVE_BACKGROUND",
                              "SEGMENTATION",
                              "UPSCALE",
                              "UPSCALE_360",
                              "VECTORIZATION"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "embedding": {
                          "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                          "items": {
                            "type": "number"
                          },
                          "type": "array"
                        },
                        "firstFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "id": {
                          "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "isHidden": {
                          "description": "Whether the asset is hidden.",
                          "type": "boolean"
                        },
                        "kind": {
                          "description": "The kind of asset",
                          "enum": [
                            "3d",
                            "audio",
                            "document",
                            "image",
                            "image-hdr",
                            "json",
                            "text",
                            "video"
                          ],
                          "type": "string"
                        },
                        "lastFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the asset with some additional information",
                          "properties": {
                            "angular": {
                              "default": 0.5,
                              "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "aspectRatio": {
                              "description": "The optional aspect ratio given for the generation, only applicable for some models",
                              "type": "string"
                            },
                            "backgroundOpacity": {
                              "default": 0,
                              "maximum": 255,
                              "minimum": 0,
                              "type": "number"
                            },
                            "baseModelId": {
                              "description": "The baseModelId that maybe changed at inference time",
                              "type": "string"
                            },
                            "bbox": {
                              "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 4,
                              "minItems": 4,
                              "type": "array"
                            },
                            "betterQuality": {
                              "default": false,
                              "type": "boolean"
                            },
                            "cannyStructureImage": {
                              "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "clustering": {
                              "default": false,
                              "description": "Activate clustering.",
                              "type": "boolean"
                            },
                            "colorCorrection": {
                              "default": true,
                              "description": "Ensure upscaled tile have the same color histogram as original tile.",
                              "type": "boolean"
                            },
                            "colorMode": {
                              "type": "string"
                            },
                            "colorPrecision": {
                              "type": "number"
                            },
                            "concepts": {
                              "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "modelEpoch": {
                                    "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                    "type": "string"
                                  },
                                  "scale": {
                                    "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                    "maximum": 2,
                                    "minimum": -2,
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "modelId",
                                  "scale"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "contours": {
                              "items": {
                                "items": {
                                  "items": {
                                    "items": {
                                      "type": "number"
                                    },
                                    "type": "array"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "type": "array"
                            },
                            "controlEnd": {
                              "description": "End step for control.",
                              "type": "number"
                            },
                            "copiedAt": {
                              "description": "The date when the asset was copied to a project",
                              "type": "string"
                            },
                            "cornerThreshold": {
                              "type": "number"
                            },
                            "creativity": {
                              "default": 35,
                              "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "creativityDecay": {
                              "default": 80,
                              "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "defaultParameters": {
                              "default": false,
                              "description": "If true, use the default parameters",
                              "type": "boolean"
                            },
                            "depthFidelity": {
                              "default": 90,
                              "description": "The depth fidelity if a depth image provided",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "depthImage": {
                              "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "detailsLevel": {
                              "default": 0,
                              "description": "Amount of details to remove or add",
                              "maximum": 50,
                              "minimum": -50,
                              "type": "number"
                            },
                            "dilate": {
                              "default": 0,
                              "maximum": 30,
                              "minimum": 0,
                              "type": "number"
                            },
                            "factor": {
                              "default": 5,
                              "description": "Contrast factor for Grayscale detector",
                              "type": "number"
                            },
                            "fileName": {
                              "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                              "type": "string"
                            },
                            "filterSpeckle": {
                              "type": "number"
                            },
                            "fractality": {
                              "default": 40,
                              "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "geometryEnforcement": {
                              "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "guidance": {
                              "description": "The guidance used to generate this asset",
                              "type": "number"
                            },
                            "halfMode": {
                              "type": "boolean"
                            },
                            "hdr": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            },
                            "highThreshold": {
                              "default": 200,
                              "description": "High threshold for Canny detector",
                              "type": "number"
                            },
                            "horizontalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Horizontal expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "image": {
                              "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                              "type": "string"
                            },
                            "imageFidelity": {
                              "default": 50,
                              "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "imageType": {
                              "default": "seamfull",
                              "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                              "enum": [
                                "seamfull",
                                "skybox",
                                "texture"
                              ],
                              "type": "string"
                            },
                            "inferenceId": {
                              "description": "The id of the Inference describing how this image was generated",
                              "type": "string"
                            },
                            "inputFidelity": {
                              "default": "low",
                              "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                              "enum": [
                                "high",
                                "low"
                              ],
                              "type": "string"
                            },
                            "inputLocation": {
                              "default": "middle",
                              "description": "Location of the input image in the output.",
                              "enum": [
                                "bottom",
                                "left",
                                "middle",
                                "right",
                                "top"
                              ],
                              "type": "string"
                            },
                            "invert": {
                              "default": false,
                              "description": "To invert the relief",
                              "type": "boolean"
                            },
                            "keepsFileNames": {
                              "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                              "type": "boolean"
                            },
                            "keypointThreshold": {
                              "default": 0.3,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "kind": {
                              "enum": [
                                "3d",
                                "audio",
                                "document",
                                "image",
                                "image-hdr",
                                "json",
                                "text",
                                "video"
                              ],
                              "type": "string"
                            },
                            "layerDifference": {
                              "type": "number"
                            },
                            "lengthThreshold": {
                              "type": "number"
                            },
                            "lockExpiresAt": {
                              "description": "The ISO timestamp when the lock on the canvas will expire",
                              "type": "string"
                            },
                            "lowThreshold": {
                              "default": 100,
                              "description": "Low threshold for Canny detector",
                              "type": "number"
                            },
                            "mask": {
                              "description": "The mask used for the asset generation or editing",
                              "type": "string"
                            },
                            "maxIterations": {
                              "type": "number"
                            },
                            "maxThreshold": {
                              "default": 90,
                              "description": "Maximum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "minThreshold": {
                              "default": 10,
                              "description": "Minimum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "modality": {
                              "default": "canny",
                              "description": "Modality to detect",
                              "enum": [
                                "canny",
                                "depth",
                                "grayscale",
                                "lineart_anime",
                                "mlsd",
                                "normal",
                                "pose",
                                "scribble",
                                "segmentation",
                                "sketch"
                              ],
                              "type": "string"
                            },
                            "mode": {
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The modelId used to generate this asset",
                              "type": "string"
                            },
                            "modelType": {
                              "description": "The type of the generator used",
                              "enum": [
                                "custom",
                                "elevenlabs-voice",
                                "flux.1",
                                "flux.1-composition",
                                "flux.1-kontext-dev",
                                "flux.1-kontext-lora",
                                "flux.1-krea-dev",
                                "flux.1-krea-lora",
                                "flux.1-lora",
                                "flux.1-pro",
                                "flux.1.1-pro-ultra",
                                "flux.2-dev-edit-lora",
                                "flux.2-dev-lora",
                                "flux.2-klein-4b-edit-lora",
                                "flux.2-klein-4b-lora",
                                "flux.2-klein-9b-edit-lora",
                                "flux.2-klein-9b-lora",
                                "flux.2-klein-base-4b-edit-lora",
                                "flux.2-klein-base-4b-lora",
                                "flux.2-klein-base-9b-edit-lora",
                                "flux.2-klein-base-9b-lora",
                                "flux1.1-pro",
                                "gpt-image-1",
                                "qwen-image-2512-lora",
                                "qwen-image-edit-2509-lora",
                                "qwen-image-edit-2511-lora",
                                "qwen-image-edit-lora",
                                "qwen-image-lora",
                                "zimage-de-turbo-lora",
                                "zimage-lora",
                                "zimage-turbo-lora"
                              ],
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "nbMasks": {
                              "type": "number"
                            },
                            "negativePrompt": {
                              "description": "The negative prompt used to generate this asset",
                              "type": "string"
                            },
                            "negativePromptStrength": {
                              "default": 0,
                              "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                              "maximum": 10,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numInferenceSteps": {
                              "default": 10,
                              "description": "The number of denoising steps for each image generation.",
                              "maximum": 50,
                              "minimum": 5,
                              "type": "number"
                            },
                            "numOutputs": {
                              "default": 4,
                              "description": "The number of outputs to generate.",
                              "maximum": 8,
                              "minimum": 1,
                              "type": "number"
                            },
                            "originalAssetId": {
                              "type": "string"
                            },
                            "outputIndex": {
                              "type": "number"
                            },
                            "overlapPercentage": {
                              "default": 0.08,
                              "description": "Overlap percentage for the output image.",
                              "maximum": 0.5,
                              "minimum": 0,
                              "type": "number"
                            },
                            "overrideEmbeddings": {
                              "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                              "type": "boolean"
                            },
                            "parentId": {
                              "type": "string"
                            },
                            "parentJobId": {
                              "type": "string"
                            },
                            "pathPrecision": {
                              "type": "number"
                            },
                            "points": {
                              "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                              "items": {
                                "items": {
                                  "type": "number"
                                },
                                "type": "array"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "polished": {
                              "default": 0.5,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "preset": {
                              "type": "string"
                            },
                            "progressPercent": {
                              "type": "number"
                            },
                            "prompt": {
                              "description": "The prompt that guided the asset generation or editing",
                              "type": "string"
                            },
                            "promptFidelity": {
                              "default": 50,
                              "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "raised": {
                              "default": 0.5,
                              "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "referenceImages": {
                              "description": "The reference images used for the asset generation or editing",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "refinementSteps": {
                              "default": 0,
                              "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                              "maximum": 4,
                              "minimum": 0,
                              "type": "number"
                            },
                            "removeBackground": {
                              "default": true,
                              "description": "Remove background for Grayscale detector",
                              "type": "boolean"
                            },
                            "resizeOption": {
                              "default": 1,
                              "description": "Size proportion of the input image in the output.",
                              "maximum": 1,
                              "minimum": 0.1,
                              "type": "number"
                            },
                            "resultContours": {
                              "default": false,
                              "description": "Boolean to output the contours.",
                              "type": "boolean"
                            },
                            "resultImage": {
                              "default": false,
                              "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                              "type": "boolean"
                            },
                            "resultMask": {
                              "default": true,
                              "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                              "type": "boolean"
                            },
                            "rootParentId": {
                              "type": "string"
                            },
                            "saveFlipbook": {
                              "default": true,
                              "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                              "type": "boolean"
                            },
                            "scalingFactor": {
                              "default": 2,
                              "description": "Scaling factor (when `targetWidth` not specified)",
                              "maximum": 16,
                              "minimum": 1,
                              "type": "number"
                            },
                            "scheduler": {
                              "description": "The scheduler used to generate this asset",
                              "type": "string"
                            },
                            "seed": {
                              "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                              "type": "string"
                            },
                            "sharpen": {
                              "default": false,
                              "description": "Sharpen tiles.",
                              "type": "boolean"
                            },
                            "shiny": {
                              "default": 0.5,
                              "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "sketch": {
                              "default": false,
                              "description": "Activate sketch detection instead of canny.",
                              "type": "boolean"
                            },
                            "sourceProjectId": {
                              "type": "string"
                            },
                            "spliceThreshold": {
                              "type": "number"
                            },
                            "strength": {
                              "default": 1,
                              "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                              "type": "number"
                            },
                            "structureFidelity": {
                              "default": 35,
                              "description": "Strength for the input image structure preservation",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "structureImage": {
                              "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "style": {
                              "enum": [
                                "3d-cartoon",
                                "3d-rendered",
                                "anime",
                                "cartoon",
                                "cinematic",
                                "claymation",
                                "cloud-skydome",
                                "comic",
                                "cyberpunk",
                                "enchanted",
                                "fantasy",
                                "ink",
                                "manga",
                                "manga-color",
                                "minimalist",
                                "neon-tron",
                                "oil-painting",
                                "pastel",
                                "photo",
                                "photography",
                                "psychedelic",
                                "retro-fantasy",
                                "scifi-concept-art",
                                "space",
                                "standard",
                                "whimsical"
                              ],
                              "type": "string"
                            },
                            "styleFidelity": {
                              "default": 20,
                              "description": "The higher the value the more it will look like the style image(s)",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "styleImages": {
                              "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                              "items": {
                                "type": "string"
                              },
                              "maxItems": 10,
                              "type": "array"
                            },
                            "styleImagesFidelity": {
                              "default": 17,
                              "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetHeight": {
                              "default": 1024,
                              "description": "The target height of the output image.",
                              "maximum": 2048,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetWidth": {
                              "description": "Target width for the upscaled image, take priority over scaling factor",
                              "maximum": 16000,
                              "minimum": 1024,
                              "type": "number"
                            },
                            "text": {
                              "description": "A textual description / keywords describing the object of interest.",
                              "maxLength": 100,
                              "type": "string"
                            },
                            "texture": {
                              "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "thumbnail": {
                              "additionalProperties": false,
                              "description": "The thumbnail of the canvas",
                              "properties": {
                                "assetId": {
                                  "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                  "type": "string"
                                },
                                "url": {
                                  "description": "The url of the image used as a thumbnail for the canvas",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "assetId",
                                "url"
                              ],
                              "type": "object"
                            },
                            "tileStyle": {
                              "default": false,
                              "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                              "type": "boolean"
                            },
                            "trainingImage": {
                              "type": "boolean"
                            },
                            "type": {
                              "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                              "enum": [
                                "3d-texture",
                                "3d-texture-albedo",
                                "3d-texture-metallic",
                                "3d-texture-mtl",
                                "3d-texture-normal",
                                "3d-texture-roughness",
                                "3d23d",
                                "3d23d-texture",
                                "audio2audio",
                                "audio2txt",
                                "audio2video",
                                "background-removal",
                                "canvas",
                                "canvas-drawing",
                                "canvas-export",
                                "detection",
                                "generative-fill",
                                "image-prompt-editing",
                                "img23d",
                                "img2img",
                                "img2splat",
                                "img2txt",
                                "img2video",
                                "inference-controlnet",
                                "inference-controlnet-img2img",
                                "inference-controlnet-inpaint",
                                "inference-controlnet-inpaint-ip-adapter",
                                "inference-controlnet-ip-adapter",
                                "inference-controlnet-reference",
                                "inference-controlnet-texture",
                                "inference-img2img",
                                "inference-img2img-ip-adapter",
                                "inference-img2img-texture",
                                "inference-inpaint",
                                "inference-inpaint-ip-adapter",
                                "inference-reference",
                                "inference-reference-texture",
                                "inference-txt2img",
                                "inference-txt2img-ip-adapter",
                                "inference-txt2img-texture",
                                "patch",
                                "pixelization",
                                "reframe",
                                "restyle",
                                "segment",
                                "segmentation-image",
                                "segmentation-mask",
                                "skybox-3d",
                                "skybox-base-360",
                                "skybox-hdri",
                                "texture",
                                "texture-albedo",
                                "texture-ao",
                                "texture-edge",
                                "texture-height",
                                "texture-metallic",
                                "texture-normal",
                                "texture-smoothness",
                                "txt23d",
                                "txt2audio",
                                "txt2img",
                                "txt2txt",
                                "txt2video",
                                "unknown",
                                "uploaded",
                                "uploaded-3d",
                                "uploaded-audio",
                                "uploaded-avatar",
                                "uploaded-text",
                                "uploaded-video",
                                "upscale",
                                "upscale-skybox",
                                "upscale-texture",
                                "upscale-video",
                                "vectorization",
                                "video23d",
                                "video2audio",
                                "video2img",
                                "video2txt",
                                "video2video",
                                "voice-clone"
                              ],
                              "type": "string"
                            },
                            "verticalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Vertical expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "width": {
                              "default": 1536,
                              "description": "The width of the rendered image.",
                              "maximum": 2048,
                              "minimum": 1024,
                              "type": "number"
                            }
                          },
                          "required": [
                            "kind",
                            "type"
                          ],
                          "type": "object"
                        },
                        "mimeType": {
                          "description": "The mime type of the asset (example: \"image/png\")",
                          "type": "string"
                        },
                        "nsfw": {
                          "description": "The NSFW labels",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "originalFileUrl": {
                          "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                          "type": "string"
                        },
                        "originalMimeType": {
                          "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                          "enum": [
                            "application/gzip",
                            "application/json",
                            "application/octet-stream",
                            "application/pdf",
                            "application/safetensors",
                            "application/vnd.autodesk.fbx",
                            "application/x-authorware-bin",
                            "application/x-zip-compressed",
                            "application/x.autodesk.fbx",
                            "application/zip",
                            "audio/flac",
                            "audio/m4a",
                            "audio/mpeg",
                            "audio/ogg",
                            "audio/wav",
                            "image/aces",
                            "image/avif",
                            "image/bmp",
                            "image/gif",
                            "image/heic",
                            "image/jpeg",
                            "image/png",
                            "image/svg+xml",
                            "image/tiff",
                            "image/vnd.radiance",
                            "image/webp",
                            "image/x-exr",
                            "model/glb",
                            "model/gltf+json",
                            "model/gltf-binary",
                            "model/ksplat",
                            "model/mtl",
                            "model/obj",
                            "model/ply",
                            "model/sog",
                            "model/splat",
                            "model/spz",
                            "model/stl",
                            "model/vnd.collada+xml",
                            "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                            "model/vnd.usdz+zip",
                            "model/x-3d-vox",
                            "model/x-blender",
                            "model/x-fbx",
                            "model/x-maya-ascii",
                            "model/x-maya-binary",
                            "model/x-vsplat",
                            "model/x3d+xml",
                            "text/plain",
                            "video/mp4",
                            "video/quicktime",
                            "video/webm"
                          ],
                          "type": "string"
                        },
                        "outputIndex": {
                          "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                          "type": "number"
                        },
                        "ownerId": {
                          "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                          "type": "string"
                        },
                        "preview": {
                          "additionalProperties": false,
                          "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "description": "The privacy of the asset",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "properties": {
                          "additionalProperties": false,
                          "description": "The properties of the asset, content may depend on the kind of asset returned",
                          "properties": {
                            "animationFrameCount": {
                              "description": "Number of animation frames if animations exist",
                              "type": "number"
                            },
                            "bitrate": {
                              "description": "Bitrate of the media in bits per second",
                              "type": "number"
                            },
                            "boneCount": {
                              "description": "Number of bones if skeleton exists",
                              "type": "number"
                            },
                            "cameraMode": {
                              "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "enum": [
                                "aerial",
                                "interior",
                                "turntable"
                              ],
                              "type": "string"
                            },
                            "cameraTrajectory": {
                              "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "items": {
                                "additionalProperties": false,
                                "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                "properties": {
                                  "fov": {
                                    "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                    "type": "number"
                                  },
                                  "position": {
                                    "description": "Camera eye position in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "target": {
                                    "description": "Look-at point in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "position",
                                  "target"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "channels": {
                              "description": "Number of channels of the audio",
                              "type": "number"
                            },
                            "charCount": {
                              "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                              "type": "number"
                            },
                            "classification": {
                              "description": "Classification of the audio",
                              "enum": [
                                "effect",
                                "interview",
                                "music",
                                "other",
                                "sound",
                                "speech",
                                "text",
                                "unknown"
                              ],
                              "type": "string"
                            },
                            "codecName": {
                              "description": "Codec name of the media",
                              "type": "string"
                            },
                            "description": {
                              "description": "Description of the audio",
                              "type": "string"
                            },
                            "dimensions": {
                              "description": "Bounding box dimensions [width, height, depth]",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "duration": {
                              "description": "Duration of the media in seconds",
                              "type": "number"
                            },
                            "faceCount": {
                              "description": "Number of faces/triangles in the mesh",
                              "type": "number"
                            },
                            "format": {
                              "description": "Format of the mesh file (e.g. 'glb', etc.)",
                              "type": "string"
                            },
                            "frameRate": {
                              "description": "Frame rate of the video in frames per second",
                              "type": "number"
                            },
                            "hasAnimations": {
                              "description": "Whether the mesh has animations",
                              "type": "boolean"
                            },
                            "hasFullPreview": {
                              "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                              "type": "boolean"
                            },
                            "hasNormals": {
                              "description": "Whether the mesh has normal vectors",
                              "type": "boolean"
                            },
                            "hasSkeleton": {
                              "description": "Whether the mesh has bones/skeleton",
                              "type": "boolean"
                            },
                            "hasUVs": {
                              "description": "Whether the mesh has UV coordinates",
                              "type": "boolean"
                            },
                            "height": {
                              "type": "number"
                            },
                            "nbFrames": {
                              "description": "Number of frames in the video",
                              "type": "number"
                            },
                            "preview": {
                              "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                              "type": "string"
                            },
                            "sampleRate": {
                              "description": "Sample rate of the media in Hz",
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "transcription": {
                              "additionalProperties": false,
                              "description": "Transcription of the audio",
                              "properties": {
                                "text": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text"
                              ],
                              "type": "object"
                            },
                            "vertexCount": {
                              "description": "Number of vertices in the mesh",
                              "type": "number"
                            },
                            "width": {
                              "type": "number"
                            },
                            "wordCount": {
                              "description": "Number of whitespace-separated words in the text",
                              "type": "number"
                            }
                          },
                          "required": [
                            "size"
                          ],
                          "type": "object"
                        },
                        "qualityGate": {
                          "additionalProperties": false,
                          "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                          "properties": {
                            "aiQualityScore": {
                              "description": "Generic AI-quality sub-score",
                              "type": "number"
                            },
                            "appliedBriefIds": {
                              "description": "Ids of briefs that contributed",
                              "items": {
                                "description": "Opaque identifier for a brief, derived from its scope.",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "briefComplianceScore": {
                              "description": "Brief-compliance sub-score (omitted when no brief applied)",
                              "type": "number"
                            },
                            "computedAt": {
                              "description": "ISO-8601 timestamp of when scoring ran",
                              "type": "string"
                            },
                            "details": {
                              "additionalProperties": false,
                              "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                              "properties": {
                                "aiQuality": {
                                  "additionalProperties": false,
                                  "description": "Always-on generic AI-quality dimension",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                },
                                "briefCompliance": {
                                  "additionalProperties": false,
                                  "description": "Brief-compliance dimension; omitted when no brief applied",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                }
                              },
                              "required": [
                                "aiQuality"
                              ],
                              "type": "object"
                            },
                            "error": {
                              "description": "Error message when status is 'error' (truncated)",
                              "type": "string"
                            },
                            "overallScore": {
                              "description": "0–100 composite score (present when status is 'scored')",
                              "type": "number"
                            },
                            "sensitivity": {
                              "description": "Sensitivity used for the verdict",
                              "enum": [
                                "high",
                                "low",
                                "medium"
                              ],
                              "type": "string"
                            },
                            "status": {
                              "description": "Whether scoring succeeded or errored",
                              "enum": [
                                "error",
                                "scored"
                              ],
                              "type": "string"
                            },
                            "verdict": {
                              "description": "pass / warn / fail (present when status is 'scored')",
                              "enum": [
                                "fail",
                                "pass",
                                "warn"
                              ],
                              "type": "string"
                            },
                            "version": {
                              "description": "Rubric/model version that produced this result",
                              "type": "string"
                            }
                          },
                          "required": [
                            "computedAt",
                            "status",
                            "version"
                          ],
                          "type": "object"
                        },
                        "source": {
                          "description": "source of the asset",
                          "enum": [
                            "3d23d",
                            "3d23d:texture",
                            "3d:texture",
                            "3d:texture:albedo",
                            "3d:texture:metallic",
                            "3d:texture:mtl",
                            "3d:texture:normal",
                            "3d:texture:roughness",
                            "audio2audio",
                            "audio2txt",
                            "audio2video",
                            "background-removal",
                            "canvas",
                            "canvas-drawing",
                            "canvas-export",
                            "detection",
                            "generative-fill",
                            "image-prompt-editing",
                            "img23d",
                            "img2img",
                            "img2splat",
                            "img2txt",
                            "img2video",
                            "inference-control-net",
                            "inference-control-net-img",
                            "inference-control-net-inpainting",
                            "inference-control-net-inpainting-ip-adapter",
                            "inference-control-net-ip-adapter",
                            "inference-control-net-reference",
                            "inference-control-net-texture",
                            "inference-img",
                            "inference-img-ip-adapter",
                            "inference-img-texture",
                            "inference-in-paint",
                            "inference-in-paint-ip-adapter",
                            "inference-reference",
                            "inference-reference-texture",
                            "inference-txt",
                            "inference-txt-ip-adapter",
                            "inference-txt-texture",
                            "patch",
                            "pixelization",
                            "reframe",
                            "restyle",
                            "segment",
                            "segmentation-image",
                            "segmentation-mask",
                            "skybox-3d",
                            "skybox-base-360",
                            "skybox-hdri",
                            "texture",
                            "texture:albedo",
                            "texture:ao",
                            "texture:edge",
                            "texture:height",
                            "texture:metallic",
                            "texture:normal",
                            "texture:smoothness",
                            "txt23d",
                            "txt2audio",
                            "txt2img",
                            "txt2txt",
                            "txt2video",
                            "unknown",
                            "uploaded",
                            "uploaded-3d",
                            "uploaded-audio",
                            "uploaded-avatar",
                            "uploaded-text",
                            "uploaded-video",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "upscale-video",
                            "vectorization",
                            "video23d",
                            "video2audio",
                            "video2img",
                            "video2txt",
                            "video2video",
                            "voice-clone"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The actual status",
                          "enum": [
                            "error",
                            "pending",
                            "success"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "url": {
                          "description": "Signed URL to get the asset content",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "collectionIds",
                        "createdAt",
                        "editCapabilities",
                        "id",
                        "kind",
                        "metadata",
                        "mimeType",
                        "ownerId",
                        "privacy",
                        "properties",
                        "source",
                        "status",
                        "tags",
                        "updatedAt",
                        "url"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "aiQuality",
                    "appliedBriefs",
                    "overallScore",
                    "verdict",
                    "asset"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Body for POST /generate/quality-gate.",
                "properties": {
                  "image": {
                    "description": "Image to verify: an asset id (\"asset_...\") or a data URL. A data URL is\nuploaded into the project as an asset (deduplicated on content, so the\nsame bytes always resolve to the same asset), and the verdict is stored on\nthat asset — re-verifying an already-scored asset replaces its result.",
                    "type": "string"
                  },
                  "sensitivity": {
                    "description": "Threshold strictness for this call. Overrides the scope's stored\nsensitivity when set; otherwise the resolved scope setting (or \"medium\")\nis used.",
                    "enum": [
                      "high",
                      "low",
                      "medium"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "image"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/ip-detection": {
      "post": {
        "operationId": "PostGenerateIpDetection",
        "description": "Check prompts and/or existing assets against the team's enabled IP-detection filters, without generating anything. Advisory only: the call never blocks and nothing is stored. The payload is analyzed as ONE input set, so the answer is a single merged verdict — call the route once per item to know which item trips a filter. Videos are analyzed through their extracted frames; audio and 3d assets are returned in `skippedAssetIds` and are never checked. Available on the Enterprise plan only; a team with no enabled filter gets `evaluatedFilters: 0` and is charged nothing. Billed on the provider tokens the check sends — the prompt plus every analyzed image, once per enabled filter — with a 1 CU minimum, reported under `ipDetection.creativeUnitsCharged` and surfaced in `GET /v1/usages` as `ip-detection`.",
        "tags": [
          "IP Detection"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "description": "Response of POST /generate/ip-detection.",
                  "properties": {
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "Merged verdict for the whole input set. `action` is always `allowed` or\n`flagged` — this route is advisory and blocks nothing — while\n`creativeUnitsCharged` and `analyzedImagesCount` report what was billed and\nwhat was actually analyzed.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    },
                    "skippedAssetIds": {
                      "description": "Input asset ids excluded from image analysis — audio and 3d assets, or a\nvideo with no extractable frame. Their content was NOT checked.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "ipDetection",
                    "skippedAssetIds"
                  ],
                  "type": "object"
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Body for POST /generate/ip-detection.",
                "properties": {
                  "assetIds": {
                    "description": "Asset ids to check. Videos are analyzed through their extracted first/last\nframes; audio and 3d assets are not analyzed and come back in\n`skippedAssetIds`.",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 10,
                    "type": "array"
                  },
                  "prompts": {
                    "description": "Prompts to check, analyzed as one text of 250 000 characters in total at\nmost — as much as the longest prompt any model accepts. At least one prompt\nor one analyzable asset id is required.",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 10,
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/controlnet": {
      "post": {
        "operationId": "PostControlnetInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger a new image generation in ControlNet mode. The control image is used to guide the generation; it can be a pose, canny map, or similar.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Image (Single ref)"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "inference": {
                      "additionalProperties": false,
                      "properties": {
                        "baseModelId": {
                          "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                          "type": "string"
                        },
                        "concepts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "controlEnd": {
                          "default": 0.5,
                          "description": "Specifies how long the ControlNet guidance should be applied during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance is active.\nFor example:\n- 1.0: ControlNet guidance is applied during all inference steps\n- 0.5: ControlNet guidance is only applied during the first half of inference steps\n\nDefault values:\n- 0.5 for Canny modality\n- 0.6 for all other modalities",
                          "maximum": 1,
                          "minimum": 0.1,
                          "type": "number"
                        },
                        "controlStart": {
                          "default": 0,
                          "description": "Specifies the starting point of the ControlNet guidance during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance starts.\nFor example:\n- 0.0: ControlNet guidance starts at the beginning of the inference steps\n- 0.5: ControlNet guidance starts at the middle of the inference steps",
                          "maximum": 0.9,
                          "minimum": 0,
                          "type": "number"
                        },
                        "disableModalityDetection": {
                          "default": true,
                          "description": "If false, the process uses the given image to detect the modality.\nIf true (default), the process will not try to detect the modality of the given image.\n\nFor example:\nwith `pose` modality and `false` value, the process will detect the pose of people in the given image\nwith `depth` modality and `false` value, the process will detect the depth of the given image\nwith `scribble` modality and `true`value, the process will use the given image as a scribble\n\n⚠️ For models of the FLUX schnell or dev families, this parameter is ignored. The modality detection is always disabled. ⚠️",
                          "type": "boolean"
                        },
                        "guidance": {
                          "default": 3.5,
                          "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                          "maximum": 20,
                          "minimum": 0,
                          "type": "number"
                        },
                        "height": {
                          "default": 512,
                          "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        },
                        "hideResults": {
                          "default": false,
                          "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                          "type": "boolean"
                        },
                        "image": {
                          "description": "Signed URL to display the input image",
                          "type": "string"
                        },
                        "imageId": {
                          "description": "Asset id of the input image",
                          "type": "string"
                        },
                        "intermediateImages": {
                          "default": false,
                          "description": "Enable or disable the intermediate images generation (default: false)",
                          "type": "boolean"
                        },
                        "modality": {
                          "description": "The modality associated with the control image used for the generation: it can either be an object with a combination of maximum\n\nFor models of the FLUX schnell or dev families:\n- one modality from: `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality`\n\nOptionally, you can associate a value to these modalities or presets. The value must be within `]0.0, 1.0]`.\n\nExamples:\n- `canny`\n- `depth:0.5,pose:1.0`\n- `canny:0.5,depth:0.5,lines:0.3`\n- `landscape`\n- `character:0.5`\n- `illusion:1`\n\nNote: if you use a value that is not supported by the model family, this will result in an error.",
                          "type": "string"
                        },
                        "modelEpoch": {
                          "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                          "type": "string"
                        },
                        "negativePrompt": {
                          "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                          "type": "string"
                        },
                        "negativePromptStrength": {
                          "default": 0,
                          "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                          "maximum": 10,
                          "minimum": 0,
                          "type": "number"
                        },
                        "numInferenceSteps": {
                          "default": 30,
                          "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                          "maximum": 150,
                          "minimum": 1,
                          "type": "number"
                        },
                        "numSamples": {
                          "default": 4,
                          "description": "The number of images to generate (within [1, 128], default: 4)",
                          "maximum": 128,
                          "minimum": 1,
                          "type": "number"
                        },
                        "prompt": {
                          "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                          "type": "string"
                        },
                        "scheduler": {
                          "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                          "enum": [
                            "DDIMScheduler",
                            "DDPMScheduler",
                            "DEISMultistepScheduler",
                            "DPMSolverMultistepScheduler",
                            "DPMSolverSinglestepScheduler",
                            "EulerAncestralDiscreteScheduler",
                            "EulerDiscreteScheduler",
                            "HeunDiscreteScheduler",
                            "KDPM2AncestralDiscreteScheduler",
                            "KDPM2DiscreteScheduler",
                            "LCMScheduler",
                            "LMSDiscreteScheduler",
                            "PNDMScheduler",
                            "TCDScheduler",
                            "UniPCMultistepScheduler"
                          ],
                          "type": "string"
                        },
                        "seed": {
                          "description": "Used to reproduce previous results. Default: randomly generated number.",
                          "maximum": 2147483647,
                          "minimum": 0,
                          "type": "string"
                        },
                        "type": {
                          "description": "The type of inference to use. Example: txt2img, img2img, etc.\n\nSelecting the right type will condition the expected parameters.\n\nNote: for inpainting with models that support multiple base models, Scenario determines the best available `baseModel` for a given `modelId`.",
                          "enum": [
                            "txt2img",
                            "txt2img_ip_adapter",
                            "txt2img_texture",
                            "img2img",
                            "img2img_ip_adapter",
                            "img2img_texture",
                            "inpaint",
                            "outpaint",
                            "inpaint_ip_adapter",
                            "controlnet",
                            "controlnet_ip_adapter",
                            "reference",
                            "reference_texture",
                            "controlnet_reference",
                            "controlnet_img2img",
                            "controlnet_inpaint",
                            "controlnet_inpaint_ip_adapter",
                            "controlnet_texture"
                          ],
                          "type": "string"
                        },
                        "width": {
                          "default": 512,
                          "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        }
                      },
                      "required": [
                        "image",
                        "imageId",
                        "modality",
                        "prompt",
                        "type"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "inference",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "baseModelId": {
                    "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                    "type": "string"
                  },
                  "concepts": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "controlEnd": {
                    "default": 0.5,
                    "description": "Specifies how long the ControlNet guidance should be applied during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance is active.\nFor example:\n- 1.0: ControlNet guidance is applied during all inference steps\n- 0.5: ControlNet guidance is only applied during the first half of inference steps\n\nDefault values:\n- 0.5 for Canny modality\n- 0.6 for all other modalities",
                    "maximum": 1,
                    "minimum": 0.1,
                    "type": "number"
                  },
                  "controlImage": {
                    "description": "The controlnet input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\")",
                    "type": "string"
                  },
                  "controlImageId": {
                    "description": "The controlnet input image as an AssetId. Will be ignored if the `controlnet` parameter is provided",
                    "type": "string"
                  },
                  "controlStart": {
                    "default": 0,
                    "description": "Specifies the starting point of the ControlNet guidance during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance starts.\nFor example:\n- 0.0: ControlNet guidance starts at the beginning of the inference steps\n- 0.5: ControlNet guidance starts at the middle of the inference steps",
                    "maximum": 0.9,
                    "minimum": 0,
                    "type": "number"
                  },
                  "disableModalityDetection": {
                    "default": true,
                    "description": "If false, the process uses the given image to detect the modality.\nIf true (default), the process will not try to detect the modality of the given image.\n\nFor example:\nwith `pose` modality and `false` value, the process will detect the pose of people in the given image\nwith `depth` modality and `false` value, the process will detect the depth of the given image\nwith `scribble` modality and `true`value, the process will use the given image as a scribble\n\n⚠️ For models of the FLUX schnell or dev families, this parameter is ignored. The modality detection is always disabled. ⚠️",
                    "type": "boolean"
                  },
                  "guidance": {
                    "default": 3.5,
                    "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                    "maximum": 20,
                    "minimum": 0,
                    "type": "number"
                  },
                  "height": {
                    "default": 512,
                    "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  },
                  "hideResults": {
                    "default": false,
                    "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                    "type": "boolean"
                  },
                  "image": {
                    "description": "The input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\") or the asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                    "type": "string"
                  },
                  "imageHide": {
                    "default": false,
                    "description": "Toggles the hidden status of the image when provided as a dataurl.",
                    "type": "boolean"
                  },
                  "imageId": {
                    "description": "Deprecated: The input image as an AssetId. Prefer to use image with the asset ID instead.",
                    "type": "string"
                  },
                  "imageParentId": {
                    "description": "Specifies the parent asset Id for the image when provided as a dataurl.",
                    "type": "string"
                  },
                  "intermediateImages": {
                    "default": false,
                    "description": "Enable or disable the intermediate images generation (default: false)",
                    "type": "boolean"
                  },
                  "modality": {
                    "description": "The modality associated with the control image used for the generation: it can either be an object with a combination of maximum\n\nFor models of the FLUX schnell or dev families:\n- one modality from: `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality`\n\nOptionally, you can associate a value to these modalities or presets. The value must be within `]0.0, 1.0]`.\n\nExamples:\n- `canny`\n- `depth:0.5,pose:1.0`\n- `canny:0.5,depth:0.5,lines:0.3`\n- `landscape`\n- `character:0.5`\n- `illusion:1`\n\nNote: if you use a value that is not supported by the model family, this will result in an error.",
                    "type": "string"
                  },
                  "modelEpoch": {
                    "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                    "type": "string"
                  },
                  "modelId": {
                    "description": "The model id to use for the inference",
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                    "type": "string"
                  },
                  "negativePromptStrength": {
                    "default": 0,
                    "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                  },
                  "numInferenceSteps": {
                    "default": 30,
                    "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                    "maximum": 150,
                    "minimum": 1,
                    "type": "number"
                  },
                  "numSamples": {
                    "default": 4,
                    "description": "The number of images to generate (within [1, 128], default: 4)",
                    "maximum": 128,
                    "minimum": 1,
                    "type": "number"
                  },
                  "prompt": {
                    "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                    "type": "string"
                  },
                  "scheduler": {
                    "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                    "enum": [
                      "DDIMScheduler",
                      "DDPMScheduler",
                      "DEISMultistepScheduler",
                      "DPMSolverMultistepScheduler",
                      "DPMSolverSinglestepScheduler",
                      "EulerAncestralDiscreteScheduler",
                      "EulerDiscreteScheduler",
                      "HeunDiscreteScheduler",
                      "KDPM2AncestralDiscreteScheduler",
                      "KDPM2DiscreteScheduler",
                      "LCMScheduler",
                      "LMSDiscreteScheduler",
                      "PNDMScheduler",
                      "TCDScheduler",
                      "UniPCMultistepScheduler"
                    ],
                    "type": "string"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "string"
                  },
                  "width": {
                    "default": 512,
                    "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  }
                },
                "required": [
                  "modality",
                  "modelId",
                  "prompt"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/controlnet-img2img": {
      "post": {
        "operationId": "PostControlnetImg2imgInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger a new image generation in ControlNet + Img2Img mode. The control image is used to guide the generation; it can be a pose, canny map, or similar. The reference image is used to initialize the generation process.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Image (Dual ref)"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "inference": {
                      "additionalProperties": false,
                      "properties": {
                        "baseModelId": {
                          "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                          "type": "string"
                        },
                        "concepts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "controlEnd": {
                          "default": 0.5,
                          "description": "Specifies how long the ControlNet guidance should be applied during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance is active.\nFor example:\n- 1.0: ControlNet guidance is applied during all inference steps\n- 0.5: ControlNet guidance is only applied during the first half of inference steps\n\nDefault values:\n- 0.5 for Canny modality\n- 0.6 for all other modalities",
                          "maximum": 1,
                          "minimum": 0.1,
                          "type": "number"
                        },
                        "controlImage": {
                          "description": "Signed URL to display the controlnet input image",
                          "type": "string"
                        },
                        "controlImageId": {
                          "description": "Asset id of the controlnet input image",
                          "type": "string"
                        },
                        "controlStart": {
                          "default": 0,
                          "description": "Specifies the starting point of the ControlNet guidance during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance starts.\nFor example:\n- 0.0: ControlNet guidance starts at the beginning of the inference steps\n- 0.5: ControlNet guidance starts at the middle of the inference steps",
                          "maximum": 0.9,
                          "minimum": 0,
                          "type": "number"
                        },
                        "disableModalityDetection": {
                          "default": true,
                          "description": "If false, the process uses the given image to detect the modality.\nIf true (default), the process will not try to detect the modality of the given image.\n\nFor example:\nwith `pose` modality and `false` value, the process will detect the pose of people in the given image\nwith `depth` modality and `false` value, the process will detect the depth of the given image\nwith `scribble` modality and `true`value, the process will use the given image as a scribble\n\n⚠️ For models of the FLUX schnell or dev families, this parameter is ignored. The modality detection is always disabled. ⚠️",
                          "type": "boolean"
                        },
                        "guidance": {
                          "default": 3.5,
                          "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                          "maximum": 20,
                          "minimum": 0,
                          "type": "number"
                        },
                        "height": {
                          "default": 512,
                          "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        },
                        "hideResults": {
                          "default": false,
                          "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                          "type": "boolean"
                        },
                        "image": {
                          "description": "Signed URL to display the input image",
                          "type": "string"
                        },
                        "imageId": {
                          "description": "Asset id of the input image",
                          "type": "string"
                        },
                        "intermediateImages": {
                          "default": false,
                          "description": "Enable or disable the intermediate images generation (default: false)",
                          "type": "boolean"
                        },
                        "modality": {
                          "description": "The modality associated with the control image used for the generation: it can either be an object with a combination of maximum\n\nFor models of the FLUX schnell or dev families:\n- one modality from: `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality`\n\nOptionally, you can associate a value to these modalities or presets. The value must be within `]0.0, 1.0]`.\n\nExamples:\n- `canny`\n- `depth:0.5,pose:1.0`\n- `canny:0.5,depth:0.5,lines:0.3`\n- `landscape`\n- `character:0.5`\n- `illusion:1`\n\nNote: if you use a value that is not supported by the model family, this will result in an error.",
                          "type": "string"
                        },
                        "modelEpoch": {
                          "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                          "type": "string"
                        },
                        "negativePrompt": {
                          "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                          "type": "string"
                        },
                        "negativePromptStrength": {
                          "default": 0,
                          "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                          "maximum": 10,
                          "minimum": 0,
                          "type": "number"
                        },
                        "numInferenceSteps": {
                          "default": 30,
                          "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                          "maximum": 150,
                          "minimum": 1,
                          "type": "number"
                        },
                        "numSamples": {
                          "default": 4,
                          "description": "The number of images to generate (within [1, 128], default: 4)",
                          "maximum": 128,
                          "minimum": 1,
                          "type": "number"
                        },
                        "prompt": {
                          "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                          "type": "string"
                        },
                        "scheduler": {
                          "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                          "enum": [
                            "DDIMScheduler",
                            "DDPMScheduler",
                            "DEISMultistepScheduler",
                            "DPMSolverMultistepScheduler",
                            "DPMSolverSinglestepScheduler",
                            "EulerAncestralDiscreteScheduler",
                            "EulerDiscreteScheduler",
                            "HeunDiscreteScheduler",
                            "KDPM2AncestralDiscreteScheduler",
                            "KDPM2DiscreteScheduler",
                            "LCMScheduler",
                            "LMSDiscreteScheduler",
                            "PNDMScheduler",
                            "TCDScheduler",
                            "UniPCMultistepScheduler"
                          ],
                          "type": "string"
                        },
                        "seed": {
                          "description": "Used to reproduce previous results. Default: randomly generated number.",
                          "maximum": 2147483647,
                          "minimum": 0,
                          "type": "string"
                        },
                        "strength": {
                          "default": 0.75,
                          "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                          "maximum": 1,
                          "minimum": 0.01,
                          "type": "number"
                        },
                        "type": {
                          "description": "The type of inference to use. Example: txt2img, img2img, etc.\n\nSelecting the right type will condition the expected parameters.\n\nNote: for inpainting with models that support multiple base models, Scenario determines the best available `baseModel` for a given `modelId`.",
                          "enum": [
                            "txt2img",
                            "txt2img_ip_adapter",
                            "txt2img_texture",
                            "img2img",
                            "img2img_ip_adapter",
                            "img2img_texture",
                            "inpaint",
                            "outpaint",
                            "inpaint_ip_adapter",
                            "controlnet",
                            "controlnet_ip_adapter",
                            "reference",
                            "reference_texture",
                            "controlnet_reference",
                            "controlnet_img2img",
                            "controlnet_inpaint",
                            "controlnet_inpaint_ip_adapter",
                            "controlnet_texture"
                          ],
                          "type": "string"
                        },
                        "width": {
                          "default": 512,
                          "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        }
                      },
                      "required": [
                        "controlImage",
                        "controlImageId",
                        "image",
                        "imageId",
                        "modality",
                        "prompt",
                        "type"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "inference",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "baseModelId": {
                    "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                    "type": "string"
                  },
                  "concepts": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "controlEnd": {
                    "default": 0.5,
                    "description": "Specifies how long the ControlNet guidance should be applied during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance is active.\nFor example:\n- 1.0: ControlNet guidance is applied during all inference steps\n- 0.5: ControlNet guidance is only applied during the first half of inference steps\n\nDefault values:\n- 0.5 for Canny modality\n- 0.6 for all other modalities",
                    "maximum": 1,
                    "minimum": 0.1,
                    "type": "number"
                  },
                  "controlImage": {
                    "description": "The controlnet input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\")",
                    "type": "string"
                  },
                  "controlImageId": {
                    "description": "The controlnet input image as an AssetId. Will be ignored if the `controlnet` parameter is provided",
                    "type": "string"
                  },
                  "controlStart": {
                    "default": 0,
                    "description": "Specifies the starting point of the ControlNet guidance during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance starts.\nFor example:\n- 0.0: ControlNet guidance starts at the beginning of the inference steps\n- 0.5: ControlNet guidance starts at the middle of the inference steps",
                    "maximum": 0.9,
                    "minimum": 0,
                    "type": "number"
                  },
                  "disableModalityDetection": {
                    "default": true,
                    "description": "If false, the process uses the given image to detect the modality.\nIf true (default), the process will not try to detect the modality of the given image.\n\nFor example:\nwith `pose` modality and `false` value, the process will detect the pose of people in the given image\nwith `depth` modality and `false` value, the process will detect the depth of the given image\nwith `scribble` modality and `true`value, the process will use the given image as a scribble\n\n⚠️ For models of the FLUX schnell or dev families, this parameter is ignored. The modality detection is always disabled. ⚠️",
                    "type": "boolean"
                  },
                  "guidance": {
                    "default": 3.5,
                    "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                    "maximum": 20,
                    "minimum": 0,
                    "type": "number"
                  },
                  "height": {
                    "default": 512,
                    "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  },
                  "hideResults": {
                    "default": false,
                    "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                    "type": "boolean"
                  },
                  "image": {
                    "description": "The input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\") or the asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                    "type": "string"
                  },
                  "imageHide": {
                    "default": false,
                    "description": "Toggles the hidden status of the image when provided as a dataurl.",
                    "type": "boolean"
                  },
                  "imageId": {
                    "description": "Deprecated: The input image as an AssetId. Prefer to use image with the asset ID instead.",
                    "type": "string"
                  },
                  "imageParentId": {
                    "description": "Specifies the parent asset Id for the image when provided as a dataurl.",
                    "type": "string"
                  },
                  "intermediateImages": {
                    "default": false,
                    "description": "Enable or disable the intermediate images generation (default: false)",
                    "type": "boolean"
                  },
                  "modality": {
                    "description": "The modality associated with the control image used for the generation: it can either be an object with a combination of maximum\n\nFor models of the FLUX schnell or dev families:\n- one modality from: `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality`\n\nOptionally, you can associate a value to these modalities or presets. The value must be within `]0.0, 1.0]`.\n\nExamples:\n- `canny`\n- `depth:0.5,pose:1.0`\n- `canny:0.5,depth:0.5,lines:0.3`\n- `landscape`\n- `character:0.5`\n- `illusion:1`\n\nNote: if you use a value that is not supported by the model family, this will result in an error.",
                    "type": "string"
                  },
                  "modelEpoch": {
                    "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                    "type": "string"
                  },
                  "modelId": {
                    "description": "The model id to use for the inference",
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                    "type": "string"
                  },
                  "negativePromptStrength": {
                    "default": 0,
                    "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                  },
                  "numInferenceSteps": {
                    "default": 30,
                    "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                    "maximum": 150,
                    "minimum": 1,
                    "type": "number"
                  },
                  "numSamples": {
                    "default": 4,
                    "description": "The number of images to generate (within [1, 128], default: 4)",
                    "maximum": 128,
                    "minimum": 1,
                    "type": "number"
                  },
                  "prompt": {
                    "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                    "type": "string"
                  },
                  "scheduler": {
                    "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                    "enum": [
                      "DDIMScheduler",
                      "DDPMScheduler",
                      "DEISMultistepScheduler",
                      "DPMSolverMultistepScheduler",
                      "DPMSolverSinglestepScheduler",
                      "EulerAncestralDiscreteScheduler",
                      "EulerDiscreteScheduler",
                      "HeunDiscreteScheduler",
                      "KDPM2AncestralDiscreteScheduler",
                      "KDPM2DiscreteScheduler",
                      "LCMScheduler",
                      "LMSDiscreteScheduler",
                      "PNDMScheduler",
                      "TCDScheduler",
                      "UniPCMultistepScheduler"
                    ],
                    "type": "string"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "string"
                  },
                  "strength": {
                    "default": 0.75,
                    "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                    "maximum": 1,
                    "minimum": 0.01,
                    "type": "number"
                  },
                  "width": {
                    "default": 512,
                    "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  }
                },
                "required": [
                  "modality",
                  "modelId",
                  "prompt"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/controlnet-inpaint": {
      "post": {
        "operationId": "PostControlnetInpaintInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger a new image generation in ControlNet + Inpaint mode. The control image is used to guide the generation; it can be a pose, canny map, or similar. The mask indicates the area to inpaint in the reference image.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Image Inpainting"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "inference": {
                      "additionalProperties": false,
                      "properties": {
                        "baseModelId": {
                          "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                          "type": "string"
                        },
                        "concepts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "controlEnd": {
                          "default": 0.5,
                          "description": "Specifies how long the ControlNet guidance should be applied during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance is active.\nFor example:\n- 1.0: ControlNet guidance is applied during all inference steps\n- 0.5: ControlNet guidance is only applied during the first half of inference steps\n\nDefault values:\n- 0.5 for Canny modality\n- 0.6 for all other modalities",
                          "maximum": 1,
                          "minimum": 0.1,
                          "type": "number"
                        },
                        "controlImage": {
                          "description": "Signed URL to display the controlnet input image",
                          "type": "string"
                        },
                        "controlImageId": {
                          "description": "Asset id of the controlnet input image",
                          "type": "string"
                        },
                        "controlStart": {
                          "default": 0,
                          "description": "Specifies the starting point of the ControlNet guidance during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance starts.\nFor example:\n- 0.0: ControlNet guidance starts at the beginning of the inference steps\n- 0.5: ControlNet guidance starts at the middle of the inference steps",
                          "maximum": 0.9,
                          "minimum": 0,
                          "type": "number"
                        },
                        "disableMerging": {
                          "default": false,
                          "description": "If set to true, the entire input image will likely change during inpainting. This results in faster inferences, but the output image will be harder to integrate if the input is just a small part of a larger image.",
                          "type": "boolean"
                        },
                        "disableModalityDetection": {
                          "default": true,
                          "description": "If false, the process uses the given image to detect the modality.\nIf true (default), the process will not try to detect the modality of the given image.\n\nFor example:\nwith `pose` modality and `false` value, the process will detect the pose of people in the given image\nwith `depth` modality and `false` value, the process will detect the depth of the given image\nwith `scribble` modality and `true`value, the process will use the given image as a scribble\n\n⚠️ For models of the FLUX schnell or dev families, this parameter is ignored. The modality detection is always disabled. ⚠️",
                          "type": "boolean"
                        },
                        "guidance": {
                          "default": 3.5,
                          "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                          "maximum": 20,
                          "minimum": 0,
                          "type": "number"
                        },
                        "height": {
                          "default": 512,
                          "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        },
                        "hideResults": {
                          "default": false,
                          "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                          "type": "boolean"
                        },
                        "image": {
                          "description": "Signed URL to display the input image",
                          "type": "string"
                        },
                        "imageId": {
                          "description": "Asset id of the input image",
                          "type": "string"
                        },
                        "intermediateImages": {
                          "default": false,
                          "description": "Enable or disable the intermediate images generation (default: false)",
                          "type": "boolean"
                        },
                        "mask": {
                          "description": "Signed URL to display the mask image",
                          "type": "string"
                        },
                        "maskId": {
                          "description": "Asset id of the mask image",
                          "type": "string"
                        },
                        "modality": {
                          "description": "The modality associated with the control image used for the generation: it can either be an object with a combination of maximum\n\nFor models of the FLUX schnell or dev families:\n- one modality from: `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality`\n\nOptionally, you can associate a value to these modalities or presets. The value must be within `]0.0, 1.0]`.\n\nExamples:\n- `canny`\n- `depth:0.5,pose:1.0`\n- `canny:0.5,depth:0.5,lines:0.3`\n- `landscape`\n- `character:0.5`\n- `illusion:1`\n\nNote: if you use a value that is not supported by the model family, this will result in an error.",
                          "type": "string"
                        },
                        "modelEpoch": {
                          "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                          "type": "string"
                        },
                        "negativePrompt": {
                          "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                          "type": "string"
                        },
                        "negativePromptStrength": {
                          "default": 0,
                          "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                          "maximum": 10,
                          "minimum": 0,
                          "type": "number"
                        },
                        "numInferenceSteps": {
                          "default": 30,
                          "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                          "maximum": 150,
                          "minimum": 1,
                          "type": "number"
                        },
                        "numSamples": {
                          "default": 4,
                          "description": "The number of images to generate (within [1, 128], default: 4)",
                          "maximum": 128,
                          "minimum": 1,
                          "type": "number"
                        },
                        "prompt": {
                          "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                          "type": "string"
                        },
                        "scheduler": {
                          "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                          "enum": [
                            "DDIMScheduler",
                            "DDPMScheduler",
                            "DEISMultistepScheduler",
                            "DPMSolverMultistepScheduler",
                            "DPMSolverSinglestepScheduler",
                            "EulerAncestralDiscreteScheduler",
                            "EulerDiscreteScheduler",
                            "HeunDiscreteScheduler",
                            "KDPM2AncestralDiscreteScheduler",
                            "KDPM2DiscreteScheduler",
                            "LCMScheduler",
                            "LMSDiscreteScheduler",
                            "PNDMScheduler",
                            "TCDScheduler",
                            "UniPCMultistepScheduler"
                          ],
                          "type": "string"
                        },
                        "seed": {
                          "description": "Used to reproduce previous results. Default: randomly generated number.",
                          "maximum": 2147483647,
                          "minimum": 0,
                          "type": "string"
                        },
                        "strength": {
                          "default": 0.75,
                          "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                          "maximum": 1,
                          "minimum": 0.01,
                          "type": "number"
                        },
                        "width": {
                          "default": 512,
                          "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        }
                      },
                      "required": [
                        "controlImage",
                        "controlImageId",
                        "image",
                        "imageId",
                        "mask",
                        "maskId",
                        "modality",
                        "prompt"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "inference",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "baseModelId": {
                    "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                    "type": "string"
                  },
                  "concepts": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "controlEnd": {
                    "default": 0.5,
                    "description": "Specifies how long the ControlNet guidance should be applied during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance is active.\nFor example:\n- 1.0: ControlNet guidance is applied during all inference steps\n- 0.5: ControlNet guidance is only applied during the first half of inference steps\n\nDefault values:\n- 0.5 for Canny modality\n- 0.6 for all other modalities",
                    "maximum": 1,
                    "minimum": 0.1,
                    "type": "number"
                  },
                  "controlImage": {
                    "description": "The controlnet input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\")",
                    "type": "string"
                  },
                  "controlImageId": {
                    "description": "The controlnet input image as an AssetId. Will be ignored if the `controlnet` parameter is provided",
                    "type": "string"
                  },
                  "controlStart": {
                    "default": 0,
                    "description": "Specifies the starting point of the ControlNet guidance during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance starts.\nFor example:\n- 0.0: ControlNet guidance starts at the beginning of the inference steps\n- 0.5: ControlNet guidance starts at the middle of the inference steps",
                    "maximum": 0.9,
                    "minimum": 0,
                    "type": "number"
                  },
                  "disableMerging": {
                    "default": false,
                    "description": "If set to true, the entire input image will likely change during inpainting. This results in faster inferences, but the output image will be harder to integrate if the input is just a small part of a larger image.",
                    "type": "boolean"
                  },
                  "disableModalityDetection": {
                    "default": true,
                    "description": "If false, the process uses the given image to detect the modality.\nIf true (default), the process will not try to detect the modality of the given image.\n\nFor example:\nwith `pose` modality and `false` value, the process will detect the pose of people in the given image\nwith `depth` modality and `false` value, the process will detect the depth of the given image\nwith `scribble` modality and `true`value, the process will use the given image as a scribble\n\n⚠️ For models of the FLUX schnell or dev families, this parameter is ignored. The modality detection is always disabled. ⚠️",
                    "type": "boolean"
                  },
                  "guidance": {
                    "default": 3.5,
                    "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                    "maximum": 20,
                    "minimum": 0,
                    "type": "number"
                  },
                  "height": {
                    "default": 512,
                    "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  },
                  "hideResults": {
                    "default": false,
                    "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                    "type": "boolean"
                  },
                  "image": {
                    "description": "The input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\") or the asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                    "type": "string"
                  },
                  "imageHide": {
                    "default": false,
                    "description": "Toggles the hidden status of the image when provided as a dataurl.",
                    "type": "boolean"
                  },
                  "imageId": {
                    "description": "Deprecated: The input image as an AssetId. Prefer to use image with the asset ID instead.",
                    "type": "string"
                  },
                  "imageParentId": {
                    "description": "Specifies the parent asset Id for the image when provided as a dataurl.",
                    "type": "string"
                  },
                  "intermediateImages": {
                    "default": false,
                    "description": "Enable or disable the intermediate images generation (default: false)",
                    "type": "boolean"
                  },
                  "mask": {
                    "description": "The mask as a data URL, used to determine the area of change. The mask is a binary mask made out of white and black pixels. The white area is the one that will be replaced. (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAB...\")",
                    "type": "string"
                  },
                  "maskId": {
                    "description": "The mask as an AssetId. Will be ignored if the `image` parameter is provided",
                    "type": "string"
                  },
                  "modality": {
                    "description": "The modality associated with the control image used for the generation: it can either be an object with a combination of maximum\n\nFor models of the FLUX schnell or dev families:\n- one modality from: `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality`\n\nOptionally, you can associate a value to these modalities or presets. The value must be within `]0.0, 1.0]`.\n\nExamples:\n- `canny`\n- `depth:0.5,pose:1.0`\n- `canny:0.5,depth:0.5,lines:0.3`\n- `landscape`\n- `character:0.5`\n- `illusion:1`\n\nNote: if you use a value that is not supported by the model family, this will result in an error.",
                    "type": "string"
                  },
                  "modelEpoch": {
                    "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                    "type": "string"
                  },
                  "modelId": {
                    "description": "The model id to use for the inference",
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                    "type": "string"
                  },
                  "negativePromptStrength": {
                    "default": 0,
                    "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                  },
                  "numInferenceSteps": {
                    "default": 30,
                    "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                    "maximum": 150,
                    "minimum": 1,
                    "type": "number"
                  },
                  "numSamples": {
                    "default": 4,
                    "description": "The number of images to generate (within [1, 128], default: 4)",
                    "maximum": 128,
                    "minimum": 1,
                    "type": "number"
                  },
                  "prompt": {
                    "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                    "type": "string"
                  },
                  "scheduler": {
                    "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                    "enum": [
                      "DDIMScheduler",
                      "DDPMScheduler",
                      "DEISMultistepScheduler",
                      "DPMSolverMultistepScheduler",
                      "DPMSolverSinglestepScheduler",
                      "EulerAncestralDiscreteScheduler",
                      "EulerDiscreteScheduler",
                      "HeunDiscreteScheduler",
                      "KDPM2AncestralDiscreteScheduler",
                      "KDPM2DiscreteScheduler",
                      "LCMScheduler",
                      "LMSDiscreteScheduler",
                      "PNDMScheduler",
                      "TCDScheduler",
                      "UniPCMultistepScheduler"
                    ],
                    "type": "string"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "string"
                  },
                  "strength": {
                    "default": 0.75,
                    "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                    "maximum": 1,
                    "minimum": 0.01,
                    "type": "number"
                  },
                  "width": {
                    "default": 512,
                    "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  }
                },
                "required": [
                  "modality",
                  "modelId",
                  "prompt"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/controlnet-inpaint-ip-adapter": {
      "post": {
        "operationId": "PostControlnetInpaintIpAdapterInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger a new image generation in ControlNet + Inpaint + IpAdapter mode. The control image is used to guide the generation; it can be a pose, canny map, or similar. The mask indicates the area to inpaint in the reference image, and the second reference image is used as an IPAdapter to guide the generation process.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Image Inpainting"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "inference": {
                      "additionalProperties": false,
                      "properties": {
                        "baseModelId": {
                          "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                          "type": "string"
                        },
                        "concepts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "controlImage": {
                          "description": "Signed URL to display the controlnet input image",
                          "type": "string"
                        },
                        "controlImageId": {
                          "description": "Asset id of the controlnet input image",
                          "type": "string"
                        },
                        "disableMerging": {
                          "default": false,
                          "description": "If set to true, the entire input image will likely change during inpainting. This results in faster inferences, but the output image will be harder to integrate if the input is just a small part of a larger image.",
                          "type": "boolean"
                        },
                        "guidance": {
                          "default": 3.5,
                          "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                          "maximum": 20,
                          "minimum": 0,
                          "type": "number"
                        },
                        "height": {
                          "default": 512,
                          "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        },
                        "hideResults": {
                          "default": false,
                          "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                          "type": "boolean"
                        },
                        "image": {
                          "description": "Signed URL to display the input image",
                          "type": "string"
                        },
                        "imageId": {
                          "description": "Asset id of the input image",
                          "type": "string"
                        },
                        "intermediateImages": {
                          "default": false,
                          "description": "Enable or disable the intermediate images generation (default: false)",
                          "type": "boolean"
                        },
                        "ipAdapterImage": {
                          "description": "Signed URL to display the IpAdapter image",
                          "type": "string"
                        },
                        "ipAdapterImageId": {
                          "description": "Asset id of the input IpAdapter image",
                          "type": "string"
                        },
                        "ipAdapterImageIds": {
                          "description": "Asset id of the input IpAdapter images",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "ipAdapterImages": {
                          "description": "Signed URL to display the IpAdapter images",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "ipAdapterScale": {
                          "default": 0.9,
                          "description": "IpAdapter scale factor (within [0.0, 1.0], default: 0.9).",
                          "maximum": 1,
                          "minimum": 0,
                          "type": "number"
                        },
                        "ipAdapterScales": {
                          "default": 0.9,
                          "description": "IpAdapter scale factors (within [0.0, 1.0], default: 0.9).",
                          "items": {
                            "type": "number"
                          },
                          "maximum": 1,
                          "minimum": 0,
                          "type": "array"
                        },
                        "ipAdapterType": {
                          "default": "style",
                          "description": "The type of IP Adapter model to use. Must be one of [`style`, `character`], default to `style``",
                          "enum": [
                            "character",
                            "style"
                          ],
                          "type": "string"
                        },
                        "mask": {
                          "description": "Signed URL to display the mask image",
                          "type": "string"
                        },
                        "maskId": {
                          "description": "Asset id of the mask image",
                          "type": "string"
                        },
                        "modelEpoch": {
                          "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                          "type": "string"
                        },
                        "negativePrompt": {
                          "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                          "type": "string"
                        },
                        "negativePromptStrength": {
                          "default": 0,
                          "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                          "maximum": 10,
                          "minimum": 0,
                          "type": "number"
                        },
                        "numInferenceSteps": {
                          "default": 30,
                          "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                          "maximum": 150,
                          "minimum": 1,
                          "type": "number"
                        },
                        "numSamples": {
                          "default": 4,
                          "description": "The number of images to generate (within [1, 128], default: 4)",
                          "maximum": 128,
                          "minimum": 1,
                          "type": "number"
                        },
                        "prompt": {
                          "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                          "type": "string"
                        },
                        "scheduler": {
                          "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                          "enum": [
                            "DDIMScheduler",
                            "DDPMScheduler",
                            "DEISMultistepScheduler",
                            "DPMSolverMultistepScheduler",
                            "DPMSolverSinglestepScheduler",
                            "EulerAncestralDiscreteScheduler",
                            "EulerDiscreteScheduler",
                            "HeunDiscreteScheduler",
                            "KDPM2AncestralDiscreteScheduler",
                            "KDPM2DiscreteScheduler",
                            "LCMScheduler",
                            "LMSDiscreteScheduler",
                            "PNDMScheduler",
                            "TCDScheduler",
                            "UniPCMultistepScheduler"
                          ],
                          "type": "string"
                        },
                        "seed": {
                          "description": "Used to reproduce previous results. Default: randomly generated number.",
                          "maximum": 2147483647,
                          "minimum": 0,
                          "type": "string"
                        },
                        "strength": {
                          "default": 0.75,
                          "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                          "maximum": 1,
                          "minimum": 0.01,
                          "type": "number"
                        },
                        "width": {
                          "default": 512,
                          "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        }
                      },
                      "required": [
                        "controlImage",
                        "controlImageId",
                        "image",
                        "imageId",
                        "mask",
                        "maskId",
                        "prompt"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "inference",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "baseModelId": {
                    "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                    "type": "string"
                  },
                  "concepts": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "controlImage": {
                    "description": "The controlnet input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\")",
                    "type": "string"
                  },
                  "controlImageId": {
                    "description": "The controlnet input image as an AssetId. Will be ignored if the `controlnet` parameter is provided",
                    "type": "string"
                  },
                  "disableMerging": {
                    "default": false,
                    "description": "If set to true, the entire input image will likely change during inpainting. This results in faster inferences, but the output image will be harder to integrate if the input is just a small part of a larger image.",
                    "type": "boolean"
                  },
                  "guidance": {
                    "default": 3.5,
                    "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                    "maximum": 20,
                    "minimum": 0,
                    "type": "number"
                  },
                  "height": {
                    "default": 512,
                    "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  },
                  "hideResults": {
                    "default": false,
                    "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                    "type": "boolean"
                  },
                  "image": {
                    "description": "The input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\") or the asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                    "type": "string"
                  },
                  "imageHide": {
                    "default": false,
                    "description": "Toggles the hidden status of the image when provided as a dataurl.",
                    "type": "boolean"
                  },
                  "imageId": {
                    "description": "Deprecated: The input image as an AssetId. Prefer to use image with the asset ID instead.",
                    "type": "string"
                  },
                  "imageParentId": {
                    "description": "Specifies the parent asset Id for the image when provided as a dataurl.",
                    "type": "string"
                  },
                  "intermediateImages": {
                    "default": false,
                    "description": "Enable or disable the intermediate images generation (default: false)",
                    "type": "boolean"
                  },
                  "ipAdapterImage": {
                    "description": "Deprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterImages` instead.\nThe IpAdapter image as a data url. Will be ignored if the `ipAdapterImages` parameter is provided.",
                    "type": "string"
                  },
                  "ipAdapterImageId": {
                    "description": "Deprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterImageIds` instead.\nThe IpAdapter image as an AssetId. Cannot be set if `ipAdapterImage` is provided. Will be ignored if the `ipAdapterImageIds` parameter is provided.",
                    "type": "string"
                  },
                  "ipAdapterImageIds": {
                    "description": "The IpAdapter images as an AssetId. Will be ignored if the `ipAdapterImages` parameter is provided",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "ipAdapterImages": {
                    "description": "The IpAdapter images as a data url.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "ipAdapterScale": {
                    "default": 0.9,
                    "description": "Deprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterScales` instead.\nIpAdapter scale factor (within [0.0, 1.0], default: 0.9). Will be ignored if the `ipAdapterScales` parameter is provided",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "ipAdapterScales": {
                    "default": 0.9,
                    "description": "IpAdapter scale factors (within [0.0, 1.0], default: 0.9).",
                    "items": {
                      "type": "number"
                    },
                    "maximum": 1,
                    "minimum": 0,
                    "type": "array"
                  },
                  "ipAdapterType": {
                    "default": "style",
                    "description": "The type of IP Adapter model to use. Must be one of [`style`, `character`], default to `style``",
                    "enum": [
                      "character",
                      "style"
                    ],
                    "type": "string"
                  },
                  "mask": {
                    "description": "The mask as a data URL, used to determine the area of change. The mask is a binary mask made out of white and black pixels. The white area is the one that will be replaced. (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAB...\")",
                    "type": "string"
                  },
                  "maskId": {
                    "description": "The mask as an AssetId. Will be ignored if the `image` parameter is provided",
                    "type": "string"
                  },
                  "modelEpoch": {
                    "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                    "type": "string"
                  },
                  "modelId": {
                    "description": "The model id to use for the inference",
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                    "type": "string"
                  },
                  "negativePromptStrength": {
                    "default": 0,
                    "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                  },
                  "numInferenceSteps": {
                    "default": 30,
                    "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                    "maximum": 150,
                    "minimum": 1,
                    "type": "number"
                  },
                  "numSamples": {
                    "default": 4,
                    "description": "The number of images to generate (within [1, 128], default: 4)",
                    "maximum": 128,
                    "minimum": 1,
                    "type": "number"
                  },
                  "prompt": {
                    "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                    "type": "string"
                  },
                  "scheduler": {
                    "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                    "enum": [
                      "DDIMScheduler",
                      "DDPMScheduler",
                      "DEISMultistepScheduler",
                      "DPMSolverMultistepScheduler",
                      "DPMSolverSinglestepScheduler",
                      "EulerAncestralDiscreteScheduler",
                      "EulerDiscreteScheduler",
                      "HeunDiscreteScheduler",
                      "KDPM2AncestralDiscreteScheduler",
                      "KDPM2DiscreteScheduler",
                      "LCMScheduler",
                      "LMSDiscreteScheduler",
                      "PNDMScheduler",
                      "TCDScheduler",
                      "UniPCMultistepScheduler"
                    ],
                    "type": "string"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "string"
                  },
                  "strength": {
                    "default": 0.75,
                    "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                    "maximum": 1,
                    "minimum": 0.01,
                    "type": "number"
                  },
                  "width": {
                    "default": 512,
                    "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  }
                },
                "required": [
                  "modelId",
                  "prompt"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/controlnet-ip-adapter": {
      "post": {
        "operationId": "PostControlnetIpAdapterInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger a new image generation in ControlNet + IpAdapter mode. The control image is used to guide the generation; it can be a pose, canny map, or similar. The second reference image is used as an IPAdapter to guide the generation process.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Image (Dual ref)"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "inference": {
                      "additionalProperties": false,
                      "properties": {
                        "baseModelId": {
                          "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                          "type": "string"
                        },
                        "concepts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "controlEnd": {
                          "default": 0.5,
                          "description": "Specifies how long the ControlNet guidance should be applied during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance is active.\nFor example:\n- 1.0: ControlNet guidance is applied during all inference steps\n- 0.5: ControlNet guidance is only applied during the first half of inference steps\n\nDefault values:\n- 0.5 for Canny modality\n- 0.6 for all other modalities",
                          "maximum": 1,
                          "minimum": 0.1,
                          "type": "number"
                        },
                        "controlStart": {
                          "default": 0,
                          "description": "Specifies the starting point of the ControlNet guidance during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance starts.\nFor example:\n- 0.0: ControlNet guidance starts at the beginning of the inference steps\n- 0.5: ControlNet guidance starts at the middle of the inference steps",
                          "maximum": 0.9,
                          "minimum": 0,
                          "type": "number"
                        },
                        "disableModalityDetection": {
                          "default": true,
                          "description": "If false, the process uses the given image to detect the modality.\nIf true (default), the process will not try to detect the modality of the given image.\n\nFor example:\nwith `pose` modality and `false` value, the process will detect the pose of people in the given image\nwith `depth` modality and `false` value, the process will detect the depth of the given image\nwith `scribble` modality and `true`value, the process will use the given image as a scribble\n\n⚠️ For models of the FLUX schnell or dev families, this parameter is ignored. The modality detection is always disabled. ⚠️",
                          "type": "boolean"
                        },
                        "guidance": {
                          "default": 3.5,
                          "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                          "maximum": 20,
                          "minimum": 0,
                          "type": "number"
                        },
                        "height": {
                          "default": 512,
                          "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        },
                        "hideResults": {
                          "default": false,
                          "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                          "type": "boolean"
                        },
                        "image": {
                          "description": "Signed URL to display the input image",
                          "type": "string"
                        },
                        "imageId": {
                          "description": "Asset id of the input image",
                          "type": "string"
                        },
                        "intermediateImages": {
                          "default": false,
                          "description": "Enable or disable the intermediate images generation (default: false)",
                          "type": "boolean"
                        },
                        "ipAdapterImage": {
                          "description": "Signed URL to display the IpAdapter image",
                          "type": "string"
                        },
                        "ipAdapterImageId": {
                          "description": "Asset id of the input IpAdapter image",
                          "type": "string"
                        },
                        "ipAdapterImageIds": {
                          "description": "Asset id of the input IpAdapter images",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "ipAdapterImages": {
                          "description": "Signed URL to display the IpAdapter images",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "ipAdapterScale": {
                          "default": 0.9,
                          "description": "IpAdapter scale factor (within [0.0, 1.0], default: 0.9).",
                          "maximum": 1,
                          "minimum": 0,
                          "type": "number"
                        },
                        "ipAdapterScales": {
                          "default": 0.9,
                          "description": "IpAdapter scale factors (within [0.0, 1.0], default: 0.9).",
                          "items": {
                            "type": "number"
                          },
                          "maximum": 1,
                          "minimum": 0,
                          "type": "array"
                        },
                        "ipAdapterType": {
                          "default": "style",
                          "description": "The type of IP Adapter model to use. Must be one of [`style`, `character`], default to `style``",
                          "enum": [
                            "character",
                            "style"
                          ],
                          "type": "string"
                        },
                        "modality": {
                          "description": "The modality associated with the control image used for the generation: it can either be an object with a combination of maximum\n\nFor models of the FLUX schnell or dev families:\n- one modality from: `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality`\n\nOptionally, you can associate a value to these modalities or presets. The value must be within `]0.0, 1.0]`.\n\nExamples:\n- `canny`\n- `depth:0.5,pose:1.0`\n- `canny:0.5,depth:0.5,lines:0.3`\n- `landscape`\n- `character:0.5`\n- `illusion:1`\n\nNote: if you use a value that is not supported by the model family, this will result in an error.",
                          "type": "string"
                        },
                        "modelEpoch": {
                          "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                          "type": "string"
                        },
                        "negativePrompt": {
                          "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                          "type": "string"
                        },
                        "negativePromptStrength": {
                          "default": 0,
                          "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                          "maximum": 10,
                          "minimum": 0,
                          "type": "number"
                        },
                        "numInferenceSteps": {
                          "default": 30,
                          "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                          "maximum": 150,
                          "minimum": 1,
                          "type": "number"
                        },
                        "numSamples": {
                          "default": 4,
                          "description": "The number of images to generate (within [1, 128], default: 4)",
                          "maximum": 128,
                          "minimum": 1,
                          "type": "number"
                        },
                        "prompt": {
                          "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                          "type": "string"
                        },
                        "scheduler": {
                          "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                          "enum": [
                            "DDIMScheduler",
                            "DDPMScheduler",
                            "DEISMultistepScheduler",
                            "DPMSolverMultistepScheduler",
                            "DPMSolverSinglestepScheduler",
                            "EulerAncestralDiscreteScheduler",
                            "EulerDiscreteScheduler",
                            "HeunDiscreteScheduler",
                            "KDPM2AncestralDiscreteScheduler",
                            "KDPM2DiscreteScheduler",
                            "LCMScheduler",
                            "LMSDiscreteScheduler",
                            "PNDMScheduler",
                            "TCDScheduler",
                            "UniPCMultistepScheduler"
                          ],
                          "type": "string"
                        },
                        "seed": {
                          "description": "Used to reproduce previous results. Default: randomly generated number.",
                          "maximum": 2147483647,
                          "minimum": 0,
                          "type": "string"
                        },
                        "type": {
                          "description": "The type of inference to use. Example: txt2img, img2img, etc.\n\nSelecting the right type will condition the expected parameters.\n\nNote: for inpainting with models that support multiple base models, Scenario determines the best available `baseModel` for a given `modelId`.",
                          "enum": [
                            "txt2img",
                            "txt2img_ip_adapter",
                            "txt2img_texture",
                            "img2img",
                            "img2img_ip_adapter",
                            "img2img_texture",
                            "inpaint",
                            "outpaint",
                            "inpaint_ip_adapter",
                            "controlnet",
                            "controlnet_ip_adapter",
                            "reference",
                            "reference_texture",
                            "controlnet_reference",
                            "controlnet_img2img",
                            "controlnet_inpaint",
                            "controlnet_inpaint_ip_adapter",
                            "controlnet_texture"
                          ],
                          "type": "string"
                        },
                        "width": {
                          "default": 512,
                          "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        }
                      },
                      "required": [
                        "image",
                        "imageId",
                        "modality",
                        "prompt",
                        "type"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "inference",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "baseModelId": {
                    "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                    "type": "string"
                  },
                  "concepts": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "controlEnd": {
                    "default": 0.5,
                    "description": "Specifies how long the ControlNet guidance should be applied during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance is active.\nFor example:\n- 1.0: ControlNet guidance is applied during all inference steps\n- 0.5: ControlNet guidance is only applied during the first half of inference steps\n\nDefault values:\n- 0.5 for Canny modality\n- 0.6 for all other modalities",
                    "maximum": 1,
                    "minimum": 0.1,
                    "type": "number"
                  },
                  "controlImage": {
                    "description": "The controlnet input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\")",
                    "type": "string"
                  },
                  "controlImageId": {
                    "description": "The controlnet input image as an AssetId. Will be ignored if the `controlnet` parameter is provided",
                    "type": "string"
                  },
                  "controlStart": {
                    "default": 0,
                    "description": "Specifies the starting point of the ControlNet guidance during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance starts.\nFor example:\n- 0.0: ControlNet guidance starts at the beginning of the inference steps\n- 0.5: ControlNet guidance starts at the middle of the inference steps",
                    "maximum": 0.9,
                    "minimum": 0,
                    "type": "number"
                  },
                  "disableModalityDetection": {
                    "default": true,
                    "description": "If false, the process uses the given image to detect the modality.\nIf true (default), the process will not try to detect the modality of the given image.\n\nFor example:\nwith `pose` modality and `false` value, the process will detect the pose of people in the given image\nwith `depth` modality and `false` value, the process will detect the depth of the given image\nwith `scribble` modality and `true`value, the process will use the given image as a scribble\n\n⚠️ For models of the FLUX schnell or dev families, this parameter is ignored. The modality detection is always disabled. ⚠️",
                    "type": "boolean"
                  },
                  "guidance": {
                    "default": 3.5,
                    "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                    "maximum": 20,
                    "minimum": 0,
                    "type": "number"
                  },
                  "height": {
                    "default": 512,
                    "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  },
                  "hideResults": {
                    "default": false,
                    "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                    "type": "boolean"
                  },
                  "image": {
                    "description": "The input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\") or the asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                    "type": "string"
                  },
                  "imageHide": {
                    "default": false,
                    "description": "Toggles the hidden status of the image when provided as a dataurl.",
                    "type": "boolean"
                  },
                  "imageId": {
                    "description": "Deprecated: The input image as an AssetId. Prefer to use image with the asset ID instead.",
                    "type": "string"
                  },
                  "imageParentId": {
                    "description": "Specifies the parent asset Id for the image when provided as a dataurl.",
                    "type": "string"
                  },
                  "intermediateImages": {
                    "default": false,
                    "description": "Enable or disable the intermediate images generation (default: false)",
                    "type": "boolean"
                  },
                  "ipAdapterImage": {
                    "description": "Deprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterImages` instead.\nThe IpAdapter image as a data url. Will be ignored if the `ipAdapterImages` parameter is provided.",
                    "type": "string"
                  },
                  "ipAdapterImageId": {
                    "description": "Deprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterImageIds` instead.\nThe IpAdapter image as an AssetId. Cannot be set if `ipAdapterImage` is provided. Will be ignored if the `ipAdapterImageIds` parameter is provided.",
                    "type": "string"
                  },
                  "ipAdapterImageIds": {
                    "description": "The IpAdapter images as an AssetId. Will be ignored if the `ipAdapterImages` parameter is provided",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "ipAdapterImages": {
                    "description": "The IpAdapter images as a data url.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "ipAdapterScale": {
                    "default": 0.9,
                    "description": "Deprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterScales` instead.\nIpAdapter scale factor (within [0.0, 1.0], default: 0.9). Will be ignored if the `ipAdapterScales` parameter is provided",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "ipAdapterScales": {
                    "default": 0.9,
                    "description": "IpAdapter scale factors (within [0.0, 1.0], default: 0.9).",
                    "items": {
                      "type": "number"
                    },
                    "maximum": 1,
                    "minimum": 0,
                    "type": "array"
                  },
                  "ipAdapterType": {
                    "default": "style",
                    "description": "The type of IP Adapter model to use. Must be one of [`style`, `character`], default to `style``",
                    "enum": [
                      "character",
                      "style"
                    ],
                    "type": "string"
                  },
                  "modality": {
                    "description": "The modality associated with the control image used for the generation: it can either be an object with a combination of maximum\n\nFor models of the FLUX schnell or dev families:\n- one modality from: `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality`\n\nOptionally, you can associate a value to these modalities or presets. The value must be within `]0.0, 1.0]`.\n\nExamples:\n- `canny`\n- `depth:0.5,pose:1.0`\n- `canny:0.5,depth:0.5,lines:0.3`\n- `landscape`\n- `character:0.5`\n- `illusion:1`\n\nNote: if you use a value that is not supported by the model family, this will result in an error.",
                    "type": "string"
                  },
                  "modelEpoch": {
                    "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                    "type": "string"
                  },
                  "modelId": {
                    "description": "The model id to use for the inference",
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                    "type": "string"
                  },
                  "negativePromptStrength": {
                    "default": 0,
                    "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                  },
                  "numInferenceSteps": {
                    "default": 30,
                    "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                    "maximum": 150,
                    "minimum": 1,
                    "type": "number"
                  },
                  "numSamples": {
                    "default": 4,
                    "description": "The number of images to generate (within [1, 128], default: 4)",
                    "maximum": 128,
                    "minimum": 1,
                    "type": "number"
                  },
                  "prompt": {
                    "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                    "type": "string"
                  },
                  "scheduler": {
                    "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                    "enum": [
                      "DDIMScheduler",
                      "DDPMScheduler",
                      "DEISMultistepScheduler",
                      "DPMSolverMultistepScheduler",
                      "DPMSolverSinglestepScheduler",
                      "EulerAncestralDiscreteScheduler",
                      "EulerDiscreteScheduler",
                      "HeunDiscreteScheduler",
                      "KDPM2AncestralDiscreteScheduler",
                      "KDPM2DiscreteScheduler",
                      "LCMScheduler",
                      "LMSDiscreteScheduler",
                      "PNDMScheduler",
                      "TCDScheduler",
                      "UniPCMultistepScheduler"
                    ],
                    "type": "string"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "string"
                  },
                  "width": {
                    "default": 512,
                    "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  }
                },
                "required": [
                  "modality",
                  "modelId",
                  "prompt"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/controlnet-texture": {
      "post": {
        "operationId": "PostControlnetTextureInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger a new seamless texture image generation in ControlNet mode. The control image is used to guide the generation; it can be a pose, canny map, or similar.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Texture"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "inference": {
                      "additionalProperties": false,
                      "properties": {
                        "baseModelId": {
                          "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                          "type": "string"
                        },
                        "concepts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "controlEnd": {
                          "default": 0.5,
                          "description": "Specifies how long the ControlNet guidance should be applied during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance is active.\nFor example:\n- 1.0: ControlNet guidance is applied during all inference steps\n- 0.5: ControlNet guidance is only applied during the first half of inference steps\n\nDefault values:\n- 0.5 for Canny modality\n- 0.6 for all other modalities",
                          "maximum": 1,
                          "minimum": 0.1,
                          "type": "number"
                        },
                        "controlStart": {
                          "default": 0,
                          "description": "Specifies the starting point of the ControlNet guidance during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance starts.\nFor example:\n- 0.0: ControlNet guidance starts at the beginning of the inference steps\n- 0.5: ControlNet guidance starts at the middle of the inference steps",
                          "maximum": 0.9,
                          "minimum": 0,
                          "type": "number"
                        },
                        "disableModalityDetection": {
                          "default": true,
                          "description": "If false, the process uses the given image to detect the modality.\nIf true (default), the process will not try to detect the modality of the given image.\n\nFor example:\nwith `pose` modality and `false` value, the process will detect the pose of people in the given image\nwith `depth` modality and `false` value, the process will detect the depth of the given image\nwith `scribble` modality and `true`value, the process will use the given image as a scribble\n\n⚠️ For models of the FLUX schnell or dev families, this parameter is ignored. The modality detection is always disabled. ⚠️",
                          "type": "boolean"
                        },
                        "guidance": {
                          "default": 3.5,
                          "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                          "maximum": 20,
                          "minimum": 0,
                          "type": "number"
                        },
                        "height": {
                          "default": 512,
                          "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        },
                        "hideResults": {
                          "default": false,
                          "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                          "type": "boolean"
                        },
                        "image": {
                          "description": "Signed URL to display the input image",
                          "type": "string"
                        },
                        "imageId": {
                          "description": "Asset id of the input image",
                          "type": "string"
                        },
                        "intermediateImages": {
                          "default": false,
                          "description": "Enable or disable the intermediate images generation (default: false)",
                          "type": "boolean"
                        },
                        "modality": {
                          "description": "The modality associated with the control image used for the generation: it can either be an object with a combination of maximum\n\nFor models of the FLUX schnell or dev families:\n- one modality from: `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality`\n\nOptionally, you can associate a value to these modalities or presets. The value must be within `]0.0, 1.0]`.\n\nExamples:\n- `canny`\n- `depth:0.5,pose:1.0`\n- `canny:0.5,depth:0.5,lines:0.3`\n- `landscape`\n- `character:0.5`\n- `illusion:1`\n\nNote: if you use a value that is not supported by the model family, this will result in an error.",
                          "type": "string"
                        },
                        "modelEpoch": {
                          "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                          "type": "string"
                        },
                        "negativePrompt": {
                          "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                          "type": "string"
                        },
                        "negativePromptStrength": {
                          "default": 0,
                          "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                          "maximum": 10,
                          "minimum": 0,
                          "type": "number"
                        },
                        "numInferenceSteps": {
                          "default": 30,
                          "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                          "maximum": 150,
                          "minimum": 1,
                          "type": "number"
                        },
                        "numSamples": {
                          "default": 4,
                          "description": "The number of images to generate (within [1, 128], default: 4)",
                          "maximum": 128,
                          "minimum": 1,
                          "type": "number"
                        },
                        "prompt": {
                          "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                          "type": "string"
                        },
                        "scheduler": {
                          "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                          "enum": [
                            "DDIMScheduler",
                            "DDPMScheduler",
                            "DEISMultistepScheduler",
                            "DPMSolverMultistepScheduler",
                            "DPMSolverSinglestepScheduler",
                            "EulerAncestralDiscreteScheduler",
                            "EulerDiscreteScheduler",
                            "HeunDiscreteScheduler",
                            "KDPM2AncestralDiscreteScheduler",
                            "KDPM2DiscreteScheduler",
                            "LCMScheduler",
                            "LMSDiscreteScheduler",
                            "PNDMScheduler",
                            "TCDScheduler",
                            "UniPCMultistepScheduler"
                          ],
                          "type": "string"
                        },
                        "seed": {
                          "description": "Used to reproduce previous results. Default: randomly generated number.",
                          "maximum": 2147483647,
                          "minimum": 0,
                          "type": "string"
                        },
                        "width": {
                          "default": 512,
                          "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        }
                      },
                      "required": [
                        "image",
                        "imageId",
                        "modality",
                        "prompt"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "inference",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "baseModelId": {
                    "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                    "type": "string"
                  },
                  "concepts": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "controlEnd": {
                    "default": 0.5,
                    "description": "Specifies how long the ControlNet guidance should be applied during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance is active.\nFor example:\n- 1.0: ControlNet guidance is applied during all inference steps\n- 0.5: ControlNet guidance is only applied during the first half of inference steps\n\nDefault values:\n- 0.5 for Canny modality\n- 0.6 for all other modalities",
                    "maximum": 1,
                    "minimum": 0.1,
                    "type": "number"
                  },
                  "controlImage": {
                    "description": "The controlnet input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\")",
                    "type": "string"
                  },
                  "controlImageId": {
                    "description": "The controlnet input image as an AssetId. Will be ignored if the `controlnet` parameter is provided",
                    "type": "string"
                  },
                  "controlStart": {
                    "default": 0,
                    "description": "Specifies the starting point of the ControlNet guidance during the inference process.\n\nOnly available for Flux.1-dev based models.\n\nThe value represents the percentage of total inference steps where the ControlNet guidance starts.\nFor example:\n- 0.0: ControlNet guidance starts at the beginning of the inference steps\n- 0.5: ControlNet guidance starts at the middle of the inference steps",
                    "maximum": 0.9,
                    "minimum": 0,
                    "type": "number"
                  },
                  "disableModalityDetection": {
                    "default": true,
                    "description": "If false, the process uses the given image to detect the modality.\nIf true (default), the process will not try to detect the modality of the given image.\n\nFor example:\nwith `pose` modality and `false` value, the process will detect the pose of people in the given image\nwith `depth` modality and `false` value, the process will detect the depth of the given image\nwith `scribble` modality and `true`value, the process will use the given image as a scribble\n\n⚠️ For models of the FLUX schnell or dev families, this parameter is ignored. The modality detection is always disabled. ⚠️",
                    "type": "boolean"
                  },
                  "guidance": {
                    "default": 3.5,
                    "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                    "maximum": 20,
                    "minimum": 0,
                    "type": "number"
                  },
                  "height": {
                    "default": 512,
                    "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  },
                  "hideResults": {
                    "default": false,
                    "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                    "type": "boolean"
                  },
                  "image": {
                    "description": "The input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\") or the asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                    "type": "string"
                  },
                  "imageHide": {
                    "default": false,
                    "description": "Toggles the hidden status of the image when provided as a dataurl.",
                    "type": "boolean"
                  },
                  "imageId": {
                    "description": "Deprecated: The input image as an AssetId. Prefer to use image with the asset ID instead.",
                    "type": "string"
                  },
                  "imageParentId": {
                    "description": "Specifies the parent asset Id for the image when provided as a dataurl.",
                    "type": "string"
                  },
                  "intermediateImages": {
                    "default": false,
                    "description": "Enable or disable the intermediate images generation (default: false)",
                    "type": "boolean"
                  },
                  "modality": {
                    "description": "The modality associated with the control image used for the generation: it can either be an object with a combination of maximum\n\nFor models of the FLUX schnell or dev families:\n- one modality from: `canny`, `tile`, `depth`, `blur`, `pose`, `gray`, `low-quality`\n\nOptionally, you can associate a value to these modalities or presets. The value must be within `]0.0, 1.0]`.\n\nExamples:\n- `canny`\n- `depth:0.5,pose:1.0`\n- `canny:0.5,depth:0.5,lines:0.3`\n- `landscape`\n- `character:0.5`\n- `illusion:1`\n\nNote: if you use a value that is not supported by the model family, this will result in an error.",
                    "type": "string"
                  },
                  "modelEpoch": {
                    "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                    "type": "string"
                  },
                  "modelId": {
                    "description": "The model id to use for the inference",
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                    "type": "string"
                  },
                  "negativePromptStrength": {
                    "default": 0,
                    "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                  },
                  "numInferenceSteps": {
                    "default": 30,
                    "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                    "maximum": 150,
                    "minimum": 1,
                    "type": "number"
                  },
                  "numSamples": {
                    "default": 4,
                    "description": "The number of images to generate (within [1, 128], default: 4)",
                    "maximum": 128,
                    "minimum": 1,
                    "type": "number"
                  },
                  "prompt": {
                    "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                    "type": "string"
                  },
                  "scheduler": {
                    "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                    "enum": [
                      "DDIMScheduler",
                      "DDPMScheduler",
                      "DEISMultistepScheduler",
                      "DPMSolverMultistepScheduler",
                      "DPMSolverSinglestepScheduler",
                      "EulerAncestralDiscreteScheduler",
                      "EulerDiscreteScheduler",
                      "HeunDiscreteScheduler",
                      "KDPM2AncestralDiscreteScheduler",
                      "KDPM2DiscreteScheduler",
                      "LCMScheduler",
                      "LMSDiscreteScheduler",
                      "PNDMScheduler",
                      "TCDScheduler",
                      "UniPCMultistepScheduler"
                    ],
                    "type": "string"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "string"
                  },
                  "width": {
                    "default": 512,
                    "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  }
                },
                "required": [
                  "modality",
                  "modelId",
                  "prompt"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/img2img": {
      "post": {
        "operationId": "PostImg2imgInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger a new image generation in Img2Img mode with one reference image that initializes the generation process.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Image (Single ref)"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "inference": {
                      "additionalProperties": false,
                      "properties": {
                        "baseModelId": {
                          "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                          "type": "string"
                        },
                        "concepts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "guidance": {
                          "default": 3.5,
                          "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                          "maximum": 20,
                          "minimum": 0,
                          "type": "number"
                        },
                        "height": {
                          "default": 512,
                          "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        },
                        "hideResults": {
                          "default": false,
                          "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                          "type": "boolean"
                        },
                        "image": {
                          "description": "Signed URL to display the input image",
                          "type": "string"
                        },
                        "imageId": {
                          "description": "Asset id of the input image",
                          "type": "string"
                        },
                        "intermediateImages": {
                          "default": false,
                          "description": "Enable or disable the intermediate images generation (default: false)",
                          "type": "boolean"
                        },
                        "mask": {
                          "description": "Signed URL to display the mask image",
                          "type": "string"
                        },
                        "maskId": {
                          "description": "Asset id of the mask image",
                          "type": "string"
                        },
                        "modelEpoch": {
                          "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                          "type": "string"
                        },
                        "negativePrompt": {
                          "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                          "type": "string"
                        },
                        "negativePromptStrength": {
                          "default": 0,
                          "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                          "maximum": 10,
                          "minimum": 0,
                          "type": "number"
                        },
                        "numInferenceSteps": {
                          "default": 30,
                          "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                          "maximum": 150,
                          "minimum": 1,
                          "type": "number"
                        },
                        "numSamples": {
                          "default": 4,
                          "description": "The number of images to generate (within [1, 128], default: 4)",
                          "maximum": 128,
                          "minimum": 1,
                          "type": "number"
                        },
                        "prompt": {
                          "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                          "type": "string"
                        },
                        "scheduler": {
                          "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                          "enum": [
                            "DDIMScheduler",
                            "DDPMScheduler",
                            "DEISMultistepScheduler",
                            "DPMSolverMultistepScheduler",
                            "DPMSolverSinglestepScheduler",
                            "EulerAncestralDiscreteScheduler",
                            "EulerDiscreteScheduler",
                            "HeunDiscreteScheduler",
                            "KDPM2AncestralDiscreteScheduler",
                            "KDPM2DiscreteScheduler",
                            "LCMScheduler",
                            "LMSDiscreteScheduler",
                            "PNDMScheduler",
                            "TCDScheduler",
                            "UniPCMultistepScheduler"
                          ],
                          "type": "string"
                        },
                        "seed": {
                          "description": "Used to reproduce previous results. Default: randomly generated number.",
                          "maximum": 2147483647,
                          "minimum": 0,
                          "type": "string"
                        },
                        "strength": {
                          "default": 0.75,
                          "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                          "maximum": 1,
                          "minimum": 0.01,
                          "type": "number"
                        },
                        "type": {
                          "description": "The type of inference to use. Example: txt2img, img2img, etc.\n\nSelecting the right type will condition the expected parameters.\n\nNote: for inpainting with models that support multiple base models, Scenario determines the best available `baseModel` for a given `modelId`.",
                          "enum": [
                            "txt2img",
                            "txt2img_ip_adapter",
                            "txt2img_texture",
                            "img2img",
                            "img2img_ip_adapter",
                            "img2img_texture",
                            "inpaint",
                            "outpaint",
                            "inpaint_ip_adapter",
                            "controlnet",
                            "controlnet_ip_adapter",
                            "reference",
                            "reference_texture",
                            "controlnet_reference",
                            "controlnet_img2img",
                            "controlnet_inpaint",
                            "controlnet_inpaint_ip_adapter",
                            "controlnet_texture"
                          ],
                          "type": "string"
                        },
                        "width": {
                          "default": 512,
                          "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        }
                      },
                      "required": [
                        "image",
                        "imageId",
                        "prompt",
                        "type"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "inference",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "baseModelId": {
                    "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                    "type": "string"
                  },
                  "concepts": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "guidance": {
                    "default": 3.5,
                    "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                    "maximum": 20,
                    "minimum": 0,
                    "type": "number"
                  },
                  "height": {
                    "default": 512,
                    "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  },
                  "hideResults": {
                    "default": false,
                    "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                    "type": "boolean"
                  },
                  "image": {
                    "description": "The input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\") or the asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                    "type": "string"
                  },
                  "imageHide": {
                    "default": false,
                    "description": "Toggles the hidden status of the image when provided as a dataurl.",
                    "type": "boolean"
                  },
                  "imageId": {
                    "description": "Deprecated: The input image as an AssetId. Prefer to use image with the asset ID instead.",
                    "type": "string"
                  },
                  "imageParentId": {
                    "description": "Specifies the parent asset Id for the image when provided as a dataurl.",
                    "type": "string"
                  },
                  "intermediateImages": {
                    "default": false,
                    "description": "Enable or disable the intermediate images generation (default: false)",
                    "type": "boolean"
                  },
                  "modelEpoch": {
                    "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                    "type": "string"
                  },
                  "modelId": {
                    "description": "The model id to use for the inference",
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                    "type": "string"
                  },
                  "negativePromptStrength": {
                    "default": 0,
                    "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                  },
                  "numInferenceSteps": {
                    "default": 30,
                    "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                    "maximum": 150,
                    "minimum": 1,
                    "type": "number"
                  },
                  "numSamples": {
                    "default": 4,
                    "description": "The number of images to generate (within [1, 128], default: 4)",
                    "maximum": 128,
                    "minimum": 1,
                    "type": "number"
                  },
                  "prompt": {
                    "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                    "type": "string"
                  },
                  "scheduler": {
                    "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                    "enum": [
                      "DDIMScheduler",
                      "DDPMScheduler",
                      "DEISMultistepScheduler",
                      "DPMSolverMultistepScheduler",
                      "DPMSolverSinglestepScheduler",
                      "EulerAncestralDiscreteScheduler",
                      "EulerDiscreteScheduler",
                      "HeunDiscreteScheduler",
                      "KDPM2AncestralDiscreteScheduler",
                      "KDPM2DiscreteScheduler",
                      "LCMScheduler",
                      "LMSDiscreteScheduler",
                      "PNDMScheduler",
                      "TCDScheduler",
                      "UniPCMultistepScheduler"
                    ],
                    "type": "string"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "string"
                  },
                  "strength": {
                    "default": 0.75,
                    "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                    "maximum": 1,
                    "minimum": 0.01,
                    "type": "number"
                  },
                  "width": {
                    "default": 512,
                    "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  }
                },
                "required": [
                  "modelId",
                  "prompt"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/img2img-ip-adapter": {
      "post": {
        "operationId": "PostImg2imgIpAdapterInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger a new image generation in Img2Img + IpAdapter mode. The first image is used to initialize the generation, and the second reference image is used as an IPAdapter.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Image (Dual ref)"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "inference": {
                      "additionalProperties": false,
                      "properties": {
                        "baseModelId": {
                          "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                          "type": "string"
                        },
                        "concepts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "guidance": {
                          "default": 3.5,
                          "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                          "maximum": 20,
                          "minimum": 0,
                          "type": "number"
                        },
                        "height": {
                          "default": 512,
                          "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        },
                        "hideResults": {
                          "default": false,
                          "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                          "type": "boolean"
                        },
                        "image": {
                          "description": "Signed URL to display the input image",
                          "type": "string"
                        },
                        "imageId": {
                          "description": "Asset id of the input image",
                          "type": "string"
                        },
                        "intermediateImages": {
                          "default": false,
                          "description": "Enable or disable the intermediate images generation (default: false)",
                          "type": "boolean"
                        },
                        "ipAdapterImage": {
                          "description": "Signed URL to display the IpAdapter image",
                          "type": "string"
                        },
                        "ipAdapterImageId": {
                          "description": "Asset id of the input IpAdapter image",
                          "type": "string"
                        },
                        "ipAdapterImageIds": {
                          "description": "Asset id of the input IpAdapter images",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "ipAdapterImages": {
                          "description": "Signed URL to display the IpAdapter images",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "ipAdapterScale": {
                          "default": 0.9,
                          "description": "IpAdapter scale factor (within [0.0, 1.0], default: 0.9).",
                          "maximum": 1,
                          "minimum": 0,
                          "type": "number"
                        },
                        "ipAdapterScales": {
                          "default": 0.9,
                          "description": "IpAdapter scale factors (within [0.0, 1.0], default: 0.9).",
                          "items": {
                            "type": "number"
                          },
                          "maximum": 1,
                          "minimum": 0,
                          "type": "array"
                        },
                        "ipAdapterType": {
                          "default": "style",
                          "description": "The type of IP Adapter model to use. Must be one of [`style`, `character`], default to `style``",
                          "enum": [
                            "character",
                            "style"
                          ],
                          "type": "string"
                        },
                        "mask": {
                          "description": "Signed URL to display the mask image",
                          "type": "string"
                        },
                        "maskId": {
                          "description": "Asset id of the mask image",
                          "type": "string"
                        },
                        "modelEpoch": {
                          "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                          "type": "string"
                        },
                        "negativePrompt": {
                          "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                          "type": "string"
                        },
                        "negativePromptStrength": {
                          "default": 0,
                          "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                          "maximum": 10,
                          "minimum": 0,
                          "type": "number"
                        },
                        "numInferenceSteps": {
                          "default": 30,
                          "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                          "maximum": 150,
                          "minimum": 1,
                          "type": "number"
                        },
                        "numSamples": {
                          "default": 4,
                          "description": "The number of images to generate (within [1, 128], default: 4)",
                          "maximum": 128,
                          "minimum": 1,
                          "type": "number"
                        },
                        "prompt": {
                          "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                          "type": "string"
                        },
                        "scheduler": {
                          "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                          "enum": [
                            "DDIMScheduler",
                            "DDPMScheduler",
                            "DEISMultistepScheduler",
                            "DPMSolverMultistepScheduler",
                            "DPMSolverSinglestepScheduler",
                            "EulerAncestralDiscreteScheduler",
                            "EulerDiscreteScheduler",
                            "HeunDiscreteScheduler",
                            "KDPM2AncestralDiscreteScheduler",
                            "KDPM2DiscreteScheduler",
                            "LCMScheduler",
                            "LMSDiscreteScheduler",
                            "PNDMScheduler",
                            "TCDScheduler",
                            "UniPCMultistepScheduler"
                          ],
                          "type": "string"
                        },
                        "seed": {
                          "description": "Used to reproduce previous results. Default: randomly generated number.",
                          "maximum": 2147483647,
                          "minimum": 0,
                          "type": "string"
                        },
                        "strength": {
                          "default": 0.75,
                          "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                          "maximum": 1,
                          "minimum": 0.01,
                          "type": "number"
                        },
                        "type": {
                          "description": "The type of inference to use. Example: txt2img, img2img, etc.\n\nSelecting the right type will condition the expected parameters.\n\nNote: for inpainting with models that support multiple base models, Scenario determines the best available `baseModel` for a given `modelId`.",
                          "enum": [
                            "txt2img",
                            "txt2img_ip_adapter",
                            "txt2img_texture",
                            "img2img",
                            "img2img_ip_adapter",
                            "img2img_texture",
                            "inpaint",
                            "outpaint",
                            "inpaint_ip_adapter",
                            "controlnet",
                            "controlnet_ip_adapter",
                            "reference",
                            "reference_texture",
                            "controlnet_reference",
                            "controlnet_img2img",
                            "controlnet_inpaint",
                            "controlnet_inpaint_ip_adapter",
                            "controlnet_texture"
                          ],
                          "type": "string"
                        },
                        "width": {
                          "default": 512,
                          "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        }
                      },
                      "required": [
                        "image",
                        "imageId",
                        "prompt",
                        "type"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "inference",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "baseModelId": {
                    "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                    "type": "string"
                  },
                  "concepts": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "guidance": {
                    "default": 3.5,
                    "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                    "maximum": 20,
                    "minimum": 0,
                    "type": "number"
                  },
                  "height": {
                    "default": 512,
                    "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  },
                  "hideResults": {
                    "default": false,
                    "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                    "type": "boolean"
                  },
                  "image": {
                    "description": "The input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\") or the asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                    "type": "string"
                  },
                  "imageHide": {
                    "default": false,
                    "description": "Toggles the hidden status of the image when provided as a dataurl.",
                    "type": "boolean"
                  },
                  "imageId": {
                    "description": "Deprecated: The input image as an AssetId. Prefer to use image with the asset ID instead.",
                    "type": "string"
                  },
                  "imageParentId": {
                    "description": "Specifies the parent asset Id for the image when provided as a dataurl.",
                    "type": "string"
                  },
                  "intermediateImages": {
                    "default": false,
                    "description": "Enable or disable the intermediate images generation (default: false)",
                    "type": "boolean"
                  },
                  "ipAdapterImage": {
                    "description": "Deprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterImages` instead.\nThe IpAdapter image as a data url. Will be ignored if the `ipAdapterImages` parameter is provided.",
                    "type": "string"
                  },
                  "ipAdapterImageId": {
                    "description": "Deprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterImageIds` instead.\nThe IpAdapter image as an AssetId. Cannot be set if `ipAdapterImage` is provided. Will be ignored if the `ipAdapterImageIds` parameter is provided.",
                    "type": "string"
                  },
                  "ipAdapterImageIds": {
                    "description": "The IpAdapter images as an AssetId. Will be ignored if the `ipAdapterImages` parameter is provided",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "ipAdapterImages": {
                    "description": "The IpAdapter images as a data url.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "ipAdapterScale": {
                    "default": 0.9,
                    "description": "Deprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterScales` instead.\nIpAdapter scale factor (within [0.0, 1.0], default: 0.9). Will be ignored if the `ipAdapterScales` parameter is provided",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "ipAdapterScales": {
                    "default": 0.9,
                    "description": "IpAdapter scale factors (within [0.0, 1.0], default: 0.9).",
                    "items": {
                      "type": "number"
                    },
                    "maximum": 1,
                    "minimum": 0,
                    "type": "array"
                  },
                  "ipAdapterType": {
                    "default": "style",
                    "description": "The type of IP Adapter model to use. Must be one of [`style`, `character`], default to `style``",
                    "enum": [
                      "character",
                      "style"
                    ],
                    "type": "string"
                  },
                  "mask": {
                    "description": "The mask as a data URL, used to determine the area of change. The mask is a binary mask made out of white and black pixels. The white area is the one that will be replaced. (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAB...\")",
                    "type": "string"
                  },
                  "maskId": {
                    "description": "The mask as an AssetId. Will be ignored if the `image` parameter is provided",
                    "type": "string"
                  },
                  "modelEpoch": {
                    "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                    "type": "string"
                  },
                  "modelId": {
                    "description": "The model id to use for the inference",
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                    "type": "string"
                  },
                  "negativePromptStrength": {
                    "default": 0,
                    "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                  },
                  "numInferenceSteps": {
                    "default": 30,
                    "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                    "maximum": 150,
                    "minimum": 1,
                    "type": "number"
                  },
                  "numSamples": {
                    "default": 4,
                    "description": "The number of images to generate (within [1, 128], default: 4)",
                    "maximum": 128,
                    "minimum": 1,
                    "type": "number"
                  },
                  "prompt": {
                    "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                    "type": "string"
                  },
                  "scheduler": {
                    "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                    "enum": [
                      "DDIMScheduler",
                      "DDPMScheduler",
                      "DEISMultistepScheduler",
                      "DPMSolverMultistepScheduler",
                      "DPMSolverSinglestepScheduler",
                      "EulerAncestralDiscreteScheduler",
                      "EulerDiscreteScheduler",
                      "HeunDiscreteScheduler",
                      "KDPM2AncestralDiscreteScheduler",
                      "KDPM2DiscreteScheduler",
                      "LCMScheduler",
                      "LMSDiscreteScheduler",
                      "PNDMScheduler",
                      "TCDScheduler",
                      "UniPCMultistepScheduler"
                    ],
                    "type": "string"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "string"
                  },
                  "strength": {
                    "default": 0.75,
                    "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                    "maximum": 1,
                    "minimum": 0.01,
                    "type": "number"
                  },
                  "width": {
                    "default": 512,
                    "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  }
                },
                "required": [
                  "modelId",
                  "prompt"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/img2img-texture": {
      "post": {
        "operationId": "PostImg2imgTextureInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger a new seamless texture image generation in Img2Img mode with one reference image that initializes the generation.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Texture"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "inference": {
                      "additionalProperties": false,
                      "properties": {
                        "baseModelId": {
                          "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                          "type": "string"
                        },
                        "concepts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "guidance": {
                          "default": 3.5,
                          "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                          "maximum": 20,
                          "minimum": 0,
                          "type": "number"
                        },
                        "height": {
                          "default": 512,
                          "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        },
                        "hideResults": {
                          "default": false,
                          "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                          "type": "boolean"
                        },
                        "image": {
                          "description": "Signed URL to display the input image",
                          "type": "string"
                        },
                        "imageId": {
                          "description": "Asset id of the input image",
                          "type": "string"
                        },
                        "intermediateImages": {
                          "default": false,
                          "description": "Enable or disable the intermediate images generation (default: false)",
                          "type": "boolean"
                        },
                        "mask": {
                          "description": "Signed URL to display the mask image",
                          "type": "string"
                        },
                        "maskId": {
                          "description": "Asset id of the mask image",
                          "type": "string"
                        },
                        "modelEpoch": {
                          "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                          "type": "string"
                        },
                        "negativePrompt": {
                          "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                          "type": "string"
                        },
                        "negativePromptStrength": {
                          "default": 0,
                          "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                          "maximum": 10,
                          "minimum": 0,
                          "type": "number"
                        },
                        "numInferenceSteps": {
                          "default": 30,
                          "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                          "maximum": 150,
                          "minimum": 1,
                          "type": "number"
                        },
                        "numSamples": {
                          "default": 4,
                          "description": "The number of images to generate (within [1, 128], default: 4)",
                          "maximum": 128,
                          "minimum": 1,
                          "type": "number"
                        },
                        "prompt": {
                          "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                          "type": "string"
                        },
                        "scheduler": {
                          "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                          "enum": [
                            "DDIMScheduler",
                            "DDPMScheduler",
                            "DEISMultistepScheduler",
                            "DPMSolverMultistepScheduler",
                            "DPMSolverSinglestepScheduler",
                            "EulerAncestralDiscreteScheduler",
                            "EulerDiscreteScheduler",
                            "HeunDiscreteScheduler",
                            "KDPM2AncestralDiscreteScheduler",
                            "KDPM2DiscreteScheduler",
                            "LCMScheduler",
                            "LMSDiscreteScheduler",
                            "PNDMScheduler",
                            "TCDScheduler",
                            "UniPCMultistepScheduler"
                          ],
                          "type": "string"
                        },
                        "seed": {
                          "description": "Used to reproduce previous results. Default: randomly generated number.",
                          "maximum": 2147483647,
                          "minimum": 0,
                          "type": "string"
                        },
                        "strength": {
                          "default": 0.75,
                          "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                          "maximum": 1,
                          "minimum": 0.01,
                          "type": "number"
                        },
                        "type": {
                          "description": "The type of inference to use. Example: txt2img, img2img, etc.\n\nSelecting the right type will condition the expected parameters.\n\nNote: for inpainting with models that support multiple base models, Scenario determines the best available `baseModel` for a given `modelId`.",
                          "enum": [
                            "txt2img",
                            "txt2img_ip_adapter",
                            "txt2img_texture",
                            "img2img",
                            "img2img_ip_adapter",
                            "img2img_texture",
                            "inpaint",
                            "outpaint",
                            "inpaint_ip_adapter",
                            "controlnet",
                            "controlnet_ip_adapter",
                            "reference",
                            "reference_texture",
                            "controlnet_reference",
                            "controlnet_img2img",
                            "controlnet_inpaint",
                            "controlnet_inpaint_ip_adapter",
                            "controlnet_texture"
                          ],
                          "type": "string"
                        },
                        "width": {
                          "default": 512,
                          "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        }
                      },
                      "required": [
                        "image",
                        "imageId",
                        "prompt",
                        "type"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "inference",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "baseModelId": {
                    "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                    "type": "string"
                  },
                  "concepts": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "guidance": {
                    "default": 3.5,
                    "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                    "maximum": 20,
                    "minimum": 0,
                    "type": "number"
                  },
                  "height": {
                    "default": 512,
                    "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  },
                  "hideResults": {
                    "default": false,
                    "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                    "type": "boolean"
                  },
                  "image": {
                    "description": "The input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\") or the asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                    "type": "string"
                  },
                  "imageHide": {
                    "default": false,
                    "description": "Toggles the hidden status of the image when provided as a dataurl.",
                    "type": "boolean"
                  },
                  "imageId": {
                    "description": "Deprecated: The input image as an AssetId. Prefer to use image with the asset ID instead.",
                    "type": "string"
                  },
                  "imageParentId": {
                    "description": "Specifies the parent asset Id for the image when provided as a dataurl.",
                    "type": "string"
                  },
                  "intermediateImages": {
                    "default": false,
                    "description": "Enable or disable the intermediate images generation (default: false)",
                    "type": "boolean"
                  },
                  "mask": {
                    "description": "The mask as a data URL, used to determine the area of change. The mask is a binary mask made out of white and black pixels. The white area is the one that will be replaced. (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAB...\")",
                    "type": "string"
                  },
                  "maskId": {
                    "description": "The mask as an AssetId. Will be ignored if the `image` parameter is provided",
                    "type": "string"
                  },
                  "modelEpoch": {
                    "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                    "type": "string"
                  },
                  "modelId": {
                    "description": "The model id to use for the inference",
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                    "type": "string"
                  },
                  "negativePromptStrength": {
                    "default": 0,
                    "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                  },
                  "numInferenceSteps": {
                    "default": 30,
                    "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                    "maximum": 150,
                    "minimum": 1,
                    "type": "number"
                  },
                  "numSamples": {
                    "default": 4,
                    "description": "The number of images to generate (within [1, 128], default: 4)",
                    "maximum": 128,
                    "minimum": 1,
                    "type": "number"
                  },
                  "prompt": {
                    "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                    "type": "string"
                  },
                  "scheduler": {
                    "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                    "enum": [
                      "DDIMScheduler",
                      "DDPMScheduler",
                      "DEISMultistepScheduler",
                      "DPMSolverMultistepScheduler",
                      "DPMSolverSinglestepScheduler",
                      "EulerAncestralDiscreteScheduler",
                      "EulerDiscreteScheduler",
                      "HeunDiscreteScheduler",
                      "KDPM2AncestralDiscreteScheduler",
                      "KDPM2DiscreteScheduler",
                      "LCMScheduler",
                      "LMSDiscreteScheduler",
                      "PNDMScheduler",
                      "TCDScheduler",
                      "UniPCMultistepScheduler"
                    ],
                    "type": "string"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "string"
                  },
                  "strength": {
                    "default": 0.75,
                    "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                    "maximum": 1,
                    "minimum": 0.01,
                    "type": "number"
                  },
                  "width": {
                    "default": 512,
                    "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  }
                },
                "required": [
                  "modelId",
                  "prompt"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/inpaint": {
      "post": {
        "operationId": "PostInpaintInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger a new image generation in Inpaint mode. The mask indicates the area to inpaint in the reference image.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Image Inpainting"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "inference": {
                      "additionalProperties": false,
                      "properties": {
                        "baseModelId": {
                          "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                          "type": "string"
                        },
                        "concepts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "disableMerging": {
                          "default": false,
                          "description": "If set to true, the entire input image will likely change during inpainting. This results in faster inferences, but the output image will be harder to integrate if the input is just a small part of a larger image.",
                          "type": "boolean"
                        },
                        "guidance": {
                          "default": 3.5,
                          "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                          "maximum": 20,
                          "minimum": 0,
                          "type": "number"
                        },
                        "height": {
                          "default": 512,
                          "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        },
                        "hideResults": {
                          "default": false,
                          "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                          "type": "boolean"
                        },
                        "image": {
                          "description": "Signed URL to display the input image",
                          "type": "string"
                        },
                        "imageId": {
                          "description": "Asset id of the input image",
                          "type": "string"
                        },
                        "intermediateImages": {
                          "default": false,
                          "description": "Enable or disable the intermediate images generation (default: false)",
                          "type": "boolean"
                        },
                        "mask": {
                          "description": "Signed URL to display the mask image",
                          "type": "string"
                        },
                        "maskId": {
                          "description": "Asset id of the mask image",
                          "type": "string"
                        },
                        "modelEpoch": {
                          "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                          "type": "string"
                        },
                        "negativePrompt": {
                          "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                          "type": "string"
                        },
                        "negativePromptStrength": {
                          "default": 0,
                          "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                          "maximum": 10,
                          "minimum": 0,
                          "type": "number"
                        },
                        "numInferenceSteps": {
                          "default": 30,
                          "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                          "maximum": 150,
                          "minimum": 1,
                          "type": "number"
                        },
                        "numSamples": {
                          "default": 4,
                          "description": "The number of images to generate (within [1, 128], default: 4)",
                          "maximum": 128,
                          "minimum": 1,
                          "type": "number"
                        },
                        "prompt": {
                          "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                          "type": "string"
                        },
                        "scheduler": {
                          "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                          "enum": [
                            "DDIMScheduler",
                            "DDPMScheduler",
                            "DEISMultistepScheduler",
                            "DPMSolverMultistepScheduler",
                            "DPMSolverSinglestepScheduler",
                            "EulerAncestralDiscreteScheduler",
                            "EulerDiscreteScheduler",
                            "HeunDiscreteScheduler",
                            "KDPM2AncestralDiscreteScheduler",
                            "KDPM2DiscreteScheduler",
                            "LCMScheduler",
                            "LMSDiscreteScheduler",
                            "PNDMScheduler",
                            "TCDScheduler",
                            "UniPCMultistepScheduler"
                          ],
                          "type": "string"
                        },
                        "seed": {
                          "description": "Used to reproduce previous results. Default: randomly generated number.",
                          "maximum": 2147483647,
                          "minimum": 0,
                          "type": "string"
                        },
                        "strength": {
                          "default": 0.75,
                          "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                          "maximum": 1,
                          "minimum": 0.01,
                          "type": "number"
                        },
                        "type": {
                          "description": "The type of inference to use. Example: txt2img, img2img, etc.\n\nSelecting the right type will condition the expected parameters.\n\nNote: for inpainting with models that support multiple base models, Scenario determines the best available `baseModel` for a given `modelId`.",
                          "enum": [
                            "txt2img",
                            "txt2img_ip_adapter",
                            "txt2img_texture",
                            "img2img",
                            "img2img_ip_adapter",
                            "img2img_texture",
                            "inpaint",
                            "outpaint",
                            "inpaint_ip_adapter",
                            "controlnet",
                            "controlnet_ip_adapter",
                            "reference",
                            "reference_texture",
                            "controlnet_reference",
                            "controlnet_img2img",
                            "controlnet_inpaint",
                            "controlnet_inpaint_ip_adapter",
                            "controlnet_texture"
                          ],
                          "type": "string"
                        },
                        "width": {
                          "default": 512,
                          "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        }
                      },
                      "required": [
                        "image",
                        "imageId",
                        "mask",
                        "maskId",
                        "prompt",
                        "type"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "inference",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "baseModelId": {
                    "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                    "type": "string"
                  },
                  "concepts": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "disableMerging": {
                    "default": false,
                    "description": "If set to true, the entire input image will likely change during inpainting. This results in faster inferences, but the output image will be harder to integrate if the input is just a small part of a larger image.",
                    "type": "boolean"
                  },
                  "guidance": {
                    "default": 3.5,
                    "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                    "maximum": 20,
                    "minimum": 0,
                    "type": "number"
                  },
                  "height": {
                    "default": 512,
                    "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  },
                  "hideResults": {
                    "default": false,
                    "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                    "type": "boolean"
                  },
                  "image": {
                    "description": "The input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\") or the asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                    "type": "string"
                  },
                  "imageHide": {
                    "default": false,
                    "description": "Toggles the hidden status of the image when provided as a dataurl.",
                    "type": "boolean"
                  },
                  "imageId": {
                    "description": "Deprecated: The input image as an AssetId. Prefer to use image with the asset ID instead.",
                    "type": "string"
                  },
                  "imageParentId": {
                    "description": "Specifies the parent asset Id for the image when provided as a dataurl.",
                    "type": "string"
                  },
                  "intermediateImages": {
                    "default": false,
                    "description": "Enable or disable the intermediate images generation (default: false)",
                    "type": "boolean"
                  },
                  "mask": {
                    "description": "The mask as a data URL, used to determine the area of change. The mask is a binary mask made out of white and black pixels. The white area is the one that will be replaced. (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAB...\")",
                    "type": "string"
                  },
                  "maskId": {
                    "description": "The mask as an AssetId. Will be ignored if the `image` parameter is provided",
                    "type": "string"
                  },
                  "modelEpoch": {
                    "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                    "type": "string"
                  },
                  "modelId": {
                    "description": "The model id to use for the inference",
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                    "type": "string"
                  },
                  "negativePromptStrength": {
                    "default": 0,
                    "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                  },
                  "numInferenceSteps": {
                    "default": 30,
                    "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                    "maximum": 150,
                    "minimum": 1,
                    "type": "number"
                  },
                  "numSamples": {
                    "default": 4,
                    "description": "The number of images to generate (within [1, 128], default: 4)",
                    "maximum": 128,
                    "minimum": 1,
                    "type": "number"
                  },
                  "prompt": {
                    "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                    "type": "string"
                  },
                  "scheduler": {
                    "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                    "enum": [
                      "DDIMScheduler",
                      "DDPMScheduler",
                      "DEISMultistepScheduler",
                      "DPMSolverMultistepScheduler",
                      "DPMSolverSinglestepScheduler",
                      "EulerAncestralDiscreteScheduler",
                      "EulerDiscreteScheduler",
                      "HeunDiscreteScheduler",
                      "KDPM2AncestralDiscreteScheduler",
                      "KDPM2DiscreteScheduler",
                      "LCMScheduler",
                      "LMSDiscreteScheduler",
                      "PNDMScheduler",
                      "TCDScheduler",
                      "UniPCMultistepScheduler"
                    ],
                    "type": "string"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "string"
                  },
                  "strength": {
                    "default": 0.75,
                    "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                    "maximum": 1,
                    "minimum": 0.01,
                    "type": "number"
                  },
                  "width": {
                    "default": 512,
                    "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  }
                },
                "required": [
                  "modelId",
                  "prompt"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/inpaint-ip-adapter": {
      "post": {
        "operationId": "PostInpaintIpAdapterInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger a new image generation in Inpaint + IpAdapter mode. The mask indicates the area to inpaint in the reference image, and the second reference image is used as an IPAdapter to guide the inpainting.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Image Inpainting"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "inference": {
                      "additionalProperties": false,
                      "properties": {
                        "baseModelId": {
                          "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                          "type": "string"
                        },
                        "concepts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "disableMerging": {
                          "default": false,
                          "description": "If set to true, the entire input image will likely change during inpainting. This results in faster inferences, but the output image will be harder to integrate if the input is just a small part of a larger image.",
                          "type": "boolean"
                        },
                        "guidance": {
                          "default": 3.5,
                          "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                          "maximum": 20,
                          "minimum": 0,
                          "type": "number"
                        },
                        "height": {
                          "default": 512,
                          "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        },
                        "hideResults": {
                          "default": false,
                          "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                          "type": "boolean"
                        },
                        "image": {
                          "description": "Signed URL to display the input image",
                          "type": "string"
                        },
                        "imageId": {
                          "description": "Asset id of the input image",
                          "type": "string"
                        },
                        "intermediateImages": {
                          "default": false,
                          "description": "Enable or disable the intermediate images generation (default: false)",
                          "type": "boolean"
                        },
                        "ipAdapterImage": {
                          "description": "Signed URL to display the IpAdapter image",
                          "type": "string"
                        },
                        "ipAdapterImageId": {
                          "description": "Asset id of the input IpAdapter image",
                          "type": "string"
                        },
                        "ipAdapterImageIds": {
                          "description": "Asset id of the input IpAdapter images",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "ipAdapterImages": {
                          "description": "Signed URL to display the IpAdapter images",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "ipAdapterScale": {
                          "default": 0.9,
                          "description": "IpAdapter scale factor (within [0.0, 1.0], default: 0.9).",
                          "maximum": 1,
                          "minimum": 0,
                          "type": "number"
                        },
                        "ipAdapterScales": {
                          "default": 0.9,
                          "description": "IpAdapter scale factors (within [0.0, 1.0], default: 0.9).",
                          "items": {
                            "type": "number"
                          },
                          "maximum": 1,
                          "minimum": 0,
                          "type": "array"
                        },
                        "ipAdapterType": {
                          "default": "style",
                          "description": "The type of IP Adapter model to use. Must be one of [`style`, `character`], default to `style``",
                          "enum": [
                            "character",
                            "style"
                          ],
                          "type": "string"
                        },
                        "mask": {
                          "description": "Signed URL to display the mask image",
                          "type": "string"
                        },
                        "maskId": {
                          "description": "Asset id of the mask image",
                          "type": "string"
                        },
                        "modelEpoch": {
                          "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                          "type": "string"
                        },
                        "negativePrompt": {
                          "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                          "type": "string"
                        },
                        "negativePromptStrength": {
                          "default": 0,
                          "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                          "maximum": 10,
                          "minimum": 0,
                          "type": "number"
                        },
                        "numInferenceSteps": {
                          "default": 30,
                          "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                          "maximum": 150,
                          "minimum": 1,
                          "type": "number"
                        },
                        "numSamples": {
                          "default": 4,
                          "description": "The number of images to generate (within [1, 128], default: 4)",
                          "maximum": 128,
                          "minimum": 1,
                          "type": "number"
                        },
                        "prompt": {
                          "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                          "type": "string"
                        },
                        "scheduler": {
                          "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                          "enum": [
                            "DDIMScheduler",
                            "DDPMScheduler",
                            "DEISMultistepScheduler",
                            "DPMSolverMultistepScheduler",
                            "DPMSolverSinglestepScheduler",
                            "EulerAncestralDiscreteScheduler",
                            "EulerDiscreteScheduler",
                            "HeunDiscreteScheduler",
                            "KDPM2AncestralDiscreteScheduler",
                            "KDPM2DiscreteScheduler",
                            "LCMScheduler",
                            "LMSDiscreteScheduler",
                            "PNDMScheduler",
                            "TCDScheduler",
                            "UniPCMultistepScheduler"
                          ],
                          "type": "string"
                        },
                        "seed": {
                          "description": "Used to reproduce previous results. Default: randomly generated number.",
                          "maximum": 2147483647,
                          "minimum": 0,
                          "type": "string"
                        },
                        "strength": {
                          "default": 0.75,
                          "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                          "maximum": 1,
                          "minimum": 0.01,
                          "type": "number"
                        },
                        "type": {
                          "description": "The type of inference to use. Example: txt2img, img2img, etc.\n\nSelecting the right type will condition the expected parameters.\n\nNote: for inpainting with models that support multiple base models, Scenario determines the best available `baseModel` for a given `modelId`.",
                          "enum": [
                            "txt2img",
                            "txt2img_ip_adapter",
                            "txt2img_texture",
                            "img2img",
                            "img2img_ip_adapter",
                            "img2img_texture",
                            "inpaint",
                            "outpaint",
                            "inpaint_ip_adapter",
                            "controlnet",
                            "controlnet_ip_adapter",
                            "reference",
                            "reference_texture",
                            "controlnet_reference",
                            "controlnet_img2img",
                            "controlnet_inpaint",
                            "controlnet_inpaint_ip_adapter",
                            "controlnet_texture"
                          ],
                          "type": "string"
                        },
                        "width": {
                          "default": 512,
                          "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        }
                      },
                      "required": [
                        "image",
                        "imageId",
                        "mask",
                        "maskId",
                        "prompt",
                        "type"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "inference",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "baseModelId": {
                    "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                    "type": "string"
                  },
                  "concepts": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "disableMerging": {
                    "default": false,
                    "description": "If set to true, the entire input image will likely change during inpainting. This results in faster inferences, but the output image will be harder to integrate if the input is just a small part of a larger image.",
                    "type": "boolean"
                  },
                  "guidance": {
                    "default": 3.5,
                    "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                    "maximum": 20,
                    "minimum": 0,
                    "type": "number"
                  },
                  "height": {
                    "default": 512,
                    "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  },
                  "hideResults": {
                    "default": false,
                    "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                    "type": "boolean"
                  },
                  "image": {
                    "description": "The input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\") or the asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                    "type": "string"
                  },
                  "imageHide": {
                    "default": false,
                    "description": "Toggles the hidden status of the image when provided as a dataurl.",
                    "type": "boolean"
                  },
                  "imageId": {
                    "description": "Deprecated: The input image as an AssetId. Prefer to use image with the asset ID instead.",
                    "type": "string"
                  },
                  "imageParentId": {
                    "description": "Specifies the parent asset Id for the image when provided as a dataurl.",
                    "type": "string"
                  },
                  "intermediateImages": {
                    "default": false,
                    "description": "Enable or disable the intermediate images generation (default: false)",
                    "type": "boolean"
                  },
                  "ipAdapterImage": {
                    "description": "Deprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterImages` instead.\nThe IpAdapter image as a data url. Will be ignored if the `ipAdapterImages` parameter is provided.",
                    "type": "string"
                  },
                  "ipAdapterImageId": {
                    "description": "Deprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterImageIds` instead.\nThe IpAdapter image as an AssetId. Cannot be set if `ipAdapterImage` is provided. Will be ignored if the `ipAdapterImageIds` parameter is provided.",
                    "type": "string"
                  },
                  "ipAdapterImageIds": {
                    "description": "The IpAdapter images as an AssetId. Will be ignored if the `ipAdapterImages` parameter is provided",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "ipAdapterImages": {
                    "description": "The IpAdapter images as a data url.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "ipAdapterScale": {
                    "default": 0.9,
                    "description": "Deprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterScales` instead.\nIpAdapter scale factor (within [0.0, 1.0], default: 0.9). Will be ignored if the `ipAdapterScales` parameter is provided",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "ipAdapterScales": {
                    "default": 0.9,
                    "description": "IpAdapter scale factors (within [0.0, 1.0], default: 0.9).",
                    "items": {
                      "type": "number"
                    },
                    "maximum": 1,
                    "minimum": 0,
                    "type": "array"
                  },
                  "ipAdapterType": {
                    "default": "style",
                    "description": "The type of IP Adapter model to use. Must be one of [`style`, `character`], default to `style``",
                    "enum": [
                      "character",
                      "style"
                    ],
                    "type": "string"
                  },
                  "mask": {
                    "description": "The mask as a data URL, used to determine the area of change. The mask is a binary mask made out of white and black pixels. The white area is the one that will be replaced. (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAB...\")",
                    "type": "string"
                  },
                  "maskId": {
                    "description": "The mask as an AssetId. Will be ignored if the `image` parameter is provided",
                    "type": "string"
                  },
                  "modelEpoch": {
                    "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                    "type": "string"
                  },
                  "modelId": {
                    "description": "The model id to use for the inference",
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                    "type": "string"
                  },
                  "negativePromptStrength": {
                    "default": 0,
                    "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                  },
                  "numInferenceSteps": {
                    "default": 30,
                    "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                    "maximum": 150,
                    "minimum": 1,
                    "type": "number"
                  },
                  "numSamples": {
                    "default": 4,
                    "description": "The number of images to generate (within [1, 128], default: 4)",
                    "maximum": 128,
                    "minimum": 1,
                    "type": "number"
                  },
                  "prompt": {
                    "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                    "type": "string"
                  },
                  "scheduler": {
                    "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                    "enum": [
                      "DDIMScheduler",
                      "DDPMScheduler",
                      "DEISMultistepScheduler",
                      "DPMSolverMultistepScheduler",
                      "DPMSolverSinglestepScheduler",
                      "EulerAncestralDiscreteScheduler",
                      "EulerDiscreteScheduler",
                      "HeunDiscreteScheduler",
                      "KDPM2AncestralDiscreteScheduler",
                      "KDPM2DiscreteScheduler",
                      "LCMScheduler",
                      "LMSDiscreteScheduler",
                      "PNDMScheduler",
                      "TCDScheduler",
                      "UniPCMultistepScheduler"
                    ],
                    "type": "string"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "string"
                  },
                  "strength": {
                    "default": 0.75,
                    "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                    "maximum": 1,
                    "minimum": 0.01,
                    "type": "number"
                  },
                  "width": {
                    "default": 512,
                    "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  }
                },
                "required": [
                  "modelId",
                  "prompt"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/txt2img": {
      "post": {
        "operationId": "PostTxt2imgInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger a new image generation in Txt2Img mode.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Image (No ref)"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "inference": {
                      "additionalProperties": false,
                      "properties": {
                        "aspectRatio": {
                          "default": "1:1",
                          "description": "The aspect ratio of the generated images. Only used for the model flux.1.1-pro-ultra.\nThe aspect ratio is a string formatted as \"width:height\" (example: \"16:9\").",
                          "enum": [
                            "16:9",
                            "1:1",
                            "21:9",
                            "2:3",
                            "3:2",
                            "3:4",
                            "4:3",
                            "4:5",
                            "5:4",
                            "9:16",
                            "9:21"
                          ],
                          "type": "string"
                        },
                        "baseModelId": {
                          "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                          "type": "string"
                        },
                        "concepts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "guidance": {
                          "default": 3.5,
                          "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                          "maximum": 20,
                          "minimum": 0,
                          "type": "number"
                        },
                        "height": {
                          "default": 512,
                          "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        },
                        "hideResults": {
                          "default": false,
                          "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                          "type": "boolean"
                        },
                        "intermediateImages": {
                          "default": false,
                          "description": "Enable or disable the intermediate images generation (default: false)",
                          "type": "boolean"
                        },
                        "modelEpoch": {
                          "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                          "type": "string"
                        },
                        "negativePrompt": {
                          "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                          "type": "string"
                        },
                        "negativePromptStrength": {
                          "default": 0,
                          "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                          "maximum": 10,
                          "minimum": 0,
                          "type": "number"
                        },
                        "numInferenceSteps": {
                          "default": 30,
                          "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                          "maximum": 150,
                          "minimum": 1,
                          "type": "number"
                        },
                        "numSamples": {
                          "default": 4,
                          "description": "The number of images to generate (within [1, 128], default: 4)",
                          "maximum": 128,
                          "minimum": 1,
                          "type": "number"
                        },
                        "prompt": {
                          "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                          "type": "string"
                        },
                        "scheduler": {
                          "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                          "enum": [
                            "DDIMScheduler",
                            "DDPMScheduler",
                            "DEISMultistepScheduler",
                            "DPMSolverMultistepScheduler",
                            "DPMSolverSinglestepScheduler",
                            "EulerAncestralDiscreteScheduler",
                            "EulerDiscreteScheduler",
                            "HeunDiscreteScheduler",
                            "KDPM2AncestralDiscreteScheduler",
                            "KDPM2DiscreteScheduler",
                            "LCMScheduler",
                            "LMSDiscreteScheduler",
                            "PNDMScheduler",
                            "TCDScheduler",
                            "UniPCMultistepScheduler"
                          ],
                          "type": "string"
                        },
                        "seed": {
                          "description": "Used to reproduce previous results. Default: randomly generated number.",
                          "maximum": 2147483647,
                          "minimum": 0,
                          "type": "string"
                        },
                        "type": {
                          "description": "The type of inference to use. Example: txt2img, img2img, etc.\n\nSelecting the right type will condition the expected parameters.\n\nNote: for inpainting with models that support multiple base models, Scenario determines the best available `baseModel` for a given `modelId`.",
                          "enum": [
                            "txt2img",
                            "txt2img_ip_adapter",
                            "txt2img_texture",
                            "img2img",
                            "img2img_ip_adapter",
                            "img2img_texture",
                            "inpaint",
                            "outpaint",
                            "inpaint_ip_adapter",
                            "controlnet",
                            "controlnet_ip_adapter",
                            "reference",
                            "reference_texture",
                            "controlnet_reference",
                            "controlnet_img2img",
                            "controlnet_inpaint",
                            "controlnet_inpaint_ip_adapter",
                            "controlnet_texture"
                          ],
                          "type": "string"
                        },
                        "width": {
                          "default": 512,
                          "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        }
                      },
                      "required": [
                        "prompt",
                        "type"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "inference",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "aspectRatio": {
                    "default": "1:1",
                    "description": "The aspect ratio of the generated images. Only used for the model flux.1.1-pro-ultra.\nThe aspect ratio is a string formatted as \"width:height\" (example: \"16:9\").",
                    "enum": [
                      "16:9",
                      "1:1",
                      "21:9",
                      "2:3",
                      "3:2",
                      "3:4",
                      "4:3",
                      "4:5",
                      "5:4",
                      "9:16",
                      "9:21"
                    ],
                    "type": "string"
                  },
                  "baseModelId": {
                    "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                    "type": "string"
                  },
                  "concepts": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "guidance": {
                    "default": 3.5,
                    "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                    "maximum": 20,
                    "minimum": 0,
                    "type": "number"
                  },
                  "height": {
                    "default": 512,
                    "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  },
                  "hideResults": {
                    "default": false,
                    "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                    "type": "boolean"
                  },
                  "intermediateImages": {
                    "default": false,
                    "description": "Enable or disable the intermediate images generation (default: false)",
                    "type": "boolean"
                  },
                  "modelEpoch": {
                    "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                    "type": "string"
                  },
                  "modelId": {
                    "description": "The model id to use for the inference",
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                    "type": "string"
                  },
                  "negativePromptStrength": {
                    "default": 0,
                    "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                  },
                  "numInferenceSteps": {
                    "default": 30,
                    "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                    "maximum": 150,
                    "minimum": 1,
                    "type": "number"
                  },
                  "numSamples": {
                    "default": 4,
                    "description": "The number of images to generate (within [1, 128], default: 4)",
                    "maximum": 128,
                    "minimum": 1,
                    "type": "number"
                  },
                  "prompt": {
                    "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                    "type": "string"
                  },
                  "scheduler": {
                    "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                    "enum": [
                      "DDIMScheduler",
                      "DDPMScheduler",
                      "DEISMultistepScheduler",
                      "DPMSolverMultistepScheduler",
                      "DPMSolverSinglestepScheduler",
                      "EulerAncestralDiscreteScheduler",
                      "EulerDiscreteScheduler",
                      "HeunDiscreteScheduler",
                      "KDPM2AncestralDiscreteScheduler",
                      "KDPM2DiscreteScheduler",
                      "LCMScheduler",
                      "LMSDiscreteScheduler",
                      "PNDMScheduler",
                      "TCDScheduler",
                      "UniPCMultistepScheduler"
                    ],
                    "type": "string"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "string"
                  },
                  "width": {
                    "default": 512,
                    "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  }
                },
                "required": [
                  "modelId",
                  "prompt"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/txt2img-ip-adapter": {
      "post": {
        "operationId": "PostTxt2imgIpAdapterInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger a new image generation in Txt2Img mode with one IpAdapter reference image that guides the generation process.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Image (Single ref)"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "inference": {
                      "additionalProperties": false,
                      "properties": {
                        "aspectRatio": {
                          "default": "1:1",
                          "description": "The aspect ratio of the generated images. Only used for the model flux.1.1-pro-ultra.\nThe aspect ratio is a string formatted as \"width:height\" (example: \"16:9\").",
                          "enum": [
                            "16:9",
                            "1:1",
                            "21:9",
                            "2:3",
                            "3:2",
                            "3:4",
                            "4:3",
                            "4:5",
                            "5:4",
                            "9:16",
                            "9:21"
                          ],
                          "type": "string"
                        },
                        "baseModelId": {
                          "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                          "type": "string"
                        },
                        "concepts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "guidance": {
                          "default": 3.5,
                          "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                          "maximum": 20,
                          "minimum": 0,
                          "type": "number"
                        },
                        "height": {
                          "default": 512,
                          "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        },
                        "hideResults": {
                          "default": false,
                          "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                          "type": "boolean"
                        },
                        "intermediateImages": {
                          "default": false,
                          "description": "Enable or disable the intermediate images generation (default: false)",
                          "type": "boolean"
                        },
                        "ipAdapterImage": {
                          "description": "Signed URL to display the IpAdapter image",
                          "type": "string"
                        },
                        "ipAdapterImageId": {
                          "description": "Asset id of the input IpAdapter image",
                          "type": "string"
                        },
                        "ipAdapterImageIds": {
                          "description": "Asset id of the input IpAdapter images",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "ipAdapterImages": {
                          "description": "Signed URL to display the IpAdapter images",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "ipAdapterScale": {
                          "default": 0.9,
                          "description": "IpAdapter scale factor (within [0.0, 1.0], default: 0.9).",
                          "maximum": 1,
                          "minimum": 0,
                          "type": "number"
                        },
                        "ipAdapterScales": {
                          "default": 0.9,
                          "description": "IpAdapter scale factors (within [0.0, 1.0], default: 0.9).",
                          "items": {
                            "type": "number"
                          },
                          "maximum": 1,
                          "minimum": 0,
                          "type": "array"
                        },
                        "ipAdapterType": {
                          "default": "style",
                          "description": "The type of IP Adapter model to use. Must be one of [`style`, `character`], default to `style``",
                          "enum": [
                            "character",
                            "style"
                          ],
                          "type": "string"
                        },
                        "modelEpoch": {
                          "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                          "type": "string"
                        },
                        "negativePrompt": {
                          "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                          "type": "string"
                        },
                        "negativePromptStrength": {
                          "default": 0,
                          "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                          "maximum": 10,
                          "minimum": 0,
                          "type": "number"
                        },
                        "numInferenceSteps": {
                          "default": 30,
                          "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                          "maximum": 150,
                          "minimum": 1,
                          "type": "number"
                        },
                        "numSamples": {
                          "default": 4,
                          "description": "The number of images to generate (within [1, 128], default: 4)",
                          "maximum": 128,
                          "minimum": 1,
                          "type": "number"
                        },
                        "prompt": {
                          "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                          "type": "string"
                        },
                        "scheduler": {
                          "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                          "enum": [
                            "DDIMScheduler",
                            "DDPMScheduler",
                            "DEISMultistepScheduler",
                            "DPMSolverMultistepScheduler",
                            "DPMSolverSinglestepScheduler",
                            "EulerAncestralDiscreteScheduler",
                            "EulerDiscreteScheduler",
                            "HeunDiscreteScheduler",
                            "KDPM2AncestralDiscreteScheduler",
                            "KDPM2DiscreteScheduler",
                            "LCMScheduler",
                            "LMSDiscreteScheduler",
                            "PNDMScheduler",
                            "TCDScheduler",
                            "UniPCMultistepScheduler"
                          ],
                          "type": "string"
                        },
                        "seed": {
                          "description": "Used to reproduce previous results. Default: randomly generated number.",
                          "maximum": 2147483647,
                          "minimum": 0,
                          "type": "string"
                        },
                        "type": {
                          "description": "The type of inference to use. Example: txt2img, img2img, etc.\n\nSelecting the right type will condition the expected parameters.\n\nNote: for inpainting with models that support multiple base models, Scenario determines the best available `baseModel` for a given `modelId`.",
                          "enum": [
                            "txt2img",
                            "txt2img_ip_adapter",
                            "txt2img_texture",
                            "img2img",
                            "img2img_ip_adapter",
                            "img2img_texture",
                            "inpaint",
                            "outpaint",
                            "inpaint_ip_adapter",
                            "controlnet",
                            "controlnet_ip_adapter",
                            "reference",
                            "reference_texture",
                            "controlnet_reference",
                            "controlnet_img2img",
                            "controlnet_inpaint",
                            "controlnet_inpaint_ip_adapter",
                            "controlnet_texture"
                          ],
                          "type": "string"
                        },
                        "width": {
                          "default": 512,
                          "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        }
                      },
                      "required": [
                        "prompt",
                        "type"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "inference",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "aspectRatio": {
                    "default": "1:1",
                    "description": "The aspect ratio of the generated images. Only used for the model flux.1.1-pro-ultra.\nThe aspect ratio is a string formatted as \"width:height\" (example: \"16:9\").",
                    "enum": [
                      "16:9",
                      "1:1",
                      "21:9",
                      "2:3",
                      "3:2",
                      "3:4",
                      "4:3",
                      "4:5",
                      "5:4",
                      "9:16",
                      "9:21"
                    ],
                    "type": "string"
                  },
                  "baseModelId": {
                    "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                    "type": "string"
                  },
                  "concepts": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "guidance": {
                    "default": 3.5,
                    "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                    "maximum": 20,
                    "minimum": 0,
                    "type": "number"
                  },
                  "height": {
                    "default": 512,
                    "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  },
                  "hideResults": {
                    "default": false,
                    "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                    "type": "boolean"
                  },
                  "intermediateImages": {
                    "default": false,
                    "description": "Enable or disable the intermediate images generation (default: false)",
                    "type": "boolean"
                  },
                  "ipAdapterImage": {
                    "description": "Deprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterImages` instead.\nThe IpAdapter image as a data url. Will be ignored if the `ipAdapterImages` parameter is provided.",
                    "type": "string"
                  },
                  "ipAdapterImageId": {
                    "description": "Deprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterImageIds` instead.\nThe IpAdapter image as an AssetId. Cannot be set if `ipAdapterImage` is provided. Will be ignored if the `ipAdapterImageIds` parameter is provided.",
                    "type": "string"
                  },
                  "ipAdapterImageIds": {
                    "description": "The IpAdapter images as an AssetId. Will be ignored if the `ipAdapterImages` parameter is provided",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "ipAdapterImages": {
                    "description": "The IpAdapter images as a data url.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "ipAdapterScale": {
                    "default": 0.9,
                    "description": "Deprecated for type txt2img-ip-adapter and img2img-ip-adapter, use `ipAdapterScales` instead.\nIpAdapter scale factor (within [0.0, 1.0], default: 0.9). Will be ignored if the `ipAdapterScales` parameter is provided",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "ipAdapterScales": {
                    "default": 0.9,
                    "description": "IpAdapter scale factors (within [0.0, 1.0], default: 0.9).",
                    "items": {
                      "type": "number"
                    },
                    "maximum": 1,
                    "minimum": 0,
                    "type": "array"
                  },
                  "ipAdapterType": {
                    "default": "style",
                    "description": "The type of IP Adapter model to use. Must be one of [`style`, `character`], default to `style``",
                    "enum": [
                      "character",
                      "style"
                    ],
                    "type": "string"
                  },
                  "modelEpoch": {
                    "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                    "type": "string"
                  },
                  "modelId": {
                    "description": "The model id to use for the inference",
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                    "type": "string"
                  },
                  "negativePromptStrength": {
                    "default": 0,
                    "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                  },
                  "numInferenceSteps": {
                    "default": 30,
                    "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                    "maximum": 150,
                    "minimum": 1,
                    "type": "number"
                  },
                  "numSamples": {
                    "default": 4,
                    "description": "The number of images to generate (within [1, 128], default: 4)",
                    "maximum": 128,
                    "minimum": 1,
                    "type": "number"
                  },
                  "prompt": {
                    "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                    "type": "string"
                  },
                  "scheduler": {
                    "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                    "enum": [
                      "DDIMScheduler",
                      "DDPMScheduler",
                      "DEISMultistepScheduler",
                      "DPMSolverMultistepScheduler",
                      "DPMSolverSinglestepScheduler",
                      "EulerAncestralDiscreteScheduler",
                      "EulerDiscreteScheduler",
                      "HeunDiscreteScheduler",
                      "KDPM2AncestralDiscreteScheduler",
                      "KDPM2DiscreteScheduler",
                      "LCMScheduler",
                      "LMSDiscreteScheduler",
                      "PNDMScheduler",
                      "TCDScheduler",
                      "UniPCMultistepScheduler"
                    ],
                    "type": "string"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "string"
                  },
                  "width": {
                    "default": 512,
                    "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  }
                },
                "required": [
                  "modelId",
                  "prompt"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/txt2img-texture": {
      "post": {
        "operationId": "PostTxt2imgTextureInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger a new seamless texture image generation in Txt2Img mode.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Texture"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "inference": {
                      "additionalProperties": false,
                      "properties": {
                        "baseModelId": {
                          "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                          "type": "string"
                        },
                        "concepts": {
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "modelEpoch": {
                                "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                "type": "string"
                              },
                              "scale": {
                                "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                "maximum": 2,
                                "minimum": -2,
                                "type": "number"
                              }
                            },
                            "required": [
                              "modelId",
                              "scale"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "guidance": {
                          "default": 3.5,
                          "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                          "maximum": 20,
                          "minimum": 0,
                          "type": "number"
                        },
                        "height": {
                          "default": 512,
                          "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        },
                        "hideResults": {
                          "default": false,
                          "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                          "type": "boolean"
                        },
                        "intermediateImages": {
                          "default": false,
                          "description": "Enable or disable the intermediate images generation (default: false)",
                          "type": "boolean"
                        },
                        "modelEpoch": {
                          "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                          "type": "string"
                        },
                        "negativePrompt": {
                          "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                          "type": "string"
                        },
                        "negativePromptStrength": {
                          "default": 0,
                          "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                          "maximum": 10,
                          "minimum": 0,
                          "type": "number"
                        },
                        "numInferenceSteps": {
                          "default": 30,
                          "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                          "maximum": 150,
                          "minimum": 1,
                          "type": "number"
                        },
                        "numSamples": {
                          "default": 4,
                          "description": "The number of images to generate (within [1, 128], default: 4)",
                          "maximum": 128,
                          "minimum": 1,
                          "type": "number"
                        },
                        "prompt": {
                          "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                          "type": "string"
                        },
                        "scheduler": {
                          "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                          "enum": [
                            "DDIMScheduler",
                            "DDPMScheduler",
                            "DEISMultistepScheduler",
                            "DPMSolverMultistepScheduler",
                            "DPMSolverSinglestepScheduler",
                            "EulerAncestralDiscreteScheduler",
                            "EulerDiscreteScheduler",
                            "HeunDiscreteScheduler",
                            "KDPM2AncestralDiscreteScheduler",
                            "KDPM2DiscreteScheduler",
                            "LCMScheduler",
                            "LMSDiscreteScheduler",
                            "PNDMScheduler",
                            "TCDScheduler",
                            "UniPCMultistepScheduler"
                          ],
                          "type": "string"
                        },
                        "seed": {
                          "description": "Used to reproduce previous results. Default: randomly generated number.",
                          "maximum": 2147483647,
                          "minimum": 0,
                          "type": "string"
                        },
                        "type": {
                          "description": "The type of inference to use. Example: txt2img, img2img, etc.\n\nSelecting the right type will condition the expected parameters.\n\nNote: for inpainting with models that support multiple base models, Scenario determines the best available `baseModel` for a given `modelId`.",
                          "enum": [
                            "txt2img",
                            "txt2img_ip_adapter",
                            "txt2img_texture",
                            "img2img",
                            "img2img_ip_adapter",
                            "img2img_texture",
                            "inpaint",
                            "outpaint",
                            "inpaint_ip_adapter",
                            "controlnet",
                            "controlnet_ip_adapter",
                            "reference",
                            "reference_texture",
                            "controlnet_reference",
                            "controlnet_img2img",
                            "controlnet_inpaint",
                            "controlnet_inpaint_ip_adapter",
                            "controlnet_texture"
                          ],
                          "type": "string"
                        },
                        "width": {
                          "default": 512,
                          "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                          "maximum": 2048,
                          "minimum": 64,
                          "multipleOf": 8,
                          "type": "number"
                        }
                      },
                      "required": [
                        "prompt",
                        "type"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "inference",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "baseModelId": {
                    "description": "The base model to use for the inference. Only Flux LoRA models can use this parameter.\nAllowed values are available in the model's attribute: `compliantModelIds`",
                    "type": "string"
                  },
                  "concepts": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "guidance": {
                    "default": 3.5,
                    "description": "Controls how closely the generated image follows the prompt. Higher values result in stronger adherence to the prompt. Default and allowed values depend on the model type:\n- For Flux dev models, the default is 3.5 and allowed values are within [0, 10]\n- For Flux pro models, the default is 3 and allowed values are within [2, 5]",
                    "maximum": 20,
                    "minimum": 0,
                    "type": "number"
                  },
                  "height": {
                    "default": 512,
                    "description": "The height of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  },
                  "hideResults": {
                    "default": false,
                    "description": "If set, generated assets will be hidden and not returned in the list of images of the inference\nor when listing assets (default: false)",
                    "type": "boolean"
                  },
                  "intermediateImages": {
                    "default": false,
                    "description": "Enable or disable the intermediate images generation (default: false)",
                    "type": "boolean"
                  },
                  "modelEpoch": {
                    "description": "The epoch of the model to use for the inference. Only available for Flux Lora Trained models.",
                    "type": "string"
                  },
                  "modelId": {
                    "description": "The model id to use for the inference",
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "The prompt not to guide the image generation, ignored when guidance < 1 (example: \"((ugly face))\")\nFor Flux based model (not Fast-Flux): requires negativePromptStrength > 0 and active only for inference types txt2img / img2img / controlnet.",
                    "type": "string"
                  },
                  "negativePromptStrength": {
                    "default": 0,
                    "description": "Only applicable for flux-dev based models for `txt2img`, `img2img`, and `controlnet` inference types.\n\nControls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                  },
                  "numInferenceSteps": {
                    "default": 30,
                    "description": "The number of denoising steps for each image generation (within [1, 150], default: 30)",
                    "maximum": 150,
                    "minimum": 1,
                    "type": "number"
                  },
                  "numSamples": {
                    "default": 4,
                    "description": "The number of images to generate (within [1, 128], default: 4)",
                    "maximum": 128,
                    "minimum": 1,
                    "type": "number"
                  },
                  "prompt": {
                    "description": "Full text prompt including the model placeholder. (example: \"an illustration of phoenix in a fantasy world, flying over a mountain, 8k, bokeh effect\")",
                    "type": "string"
                  },
                  "scheduler": {
                    "description": "The scheduler to use to override the default configured for the model. See detailed documentation for more details.",
                    "enum": [
                      "DDIMScheduler",
                      "DDPMScheduler",
                      "DEISMultistepScheduler",
                      "DPMSolverMultistepScheduler",
                      "DPMSolverSinglestepScheduler",
                      "EulerAncestralDiscreteScheduler",
                      "EulerDiscreteScheduler",
                      "HeunDiscreteScheduler",
                      "KDPM2AncestralDiscreteScheduler",
                      "KDPM2DiscreteScheduler",
                      "LCMScheduler",
                      "LMSDiscreteScheduler",
                      "PNDMScheduler",
                      "TCDScheduler",
                      "UniPCMultistepScheduler"
                    ],
                    "type": "string"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "string"
                  },
                  "width": {
                    "default": 512,
                    "description": "The width of the generated images, must be a 8 multiple (within [64, 2048], default: 512)\nIf model.type is `flux.1.1-pro-ultra`, you can use the aspectRatio parameter instead",
                    "maximum": 2048,
                    "minimum": 64,
                    "multipleOf": 8,
                    "type": "number"
                  }
                },
                "required": [
                  "modelId",
                  "prompt"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/pixelate": {
      "post": {
        "operationId": "PostPixelateInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nAdvanced pixelization of an image.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Image Editing"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "asset": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "automaticCaptioning": {
                          "description": "Automatic captioning of the asset",
                          "type": "string"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this asset belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                          "type": "string"
                        },
                        "description": {
                          "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                          "type": "string"
                        },
                        "editCapabilities": {
                          "description": "List of edit capabilities",
                          "items": {
                            "enum": [
                              "DETECTION",
                              "GENERATIVE_FILL",
                              "PIXELATE",
                              "PROMPT_EDITING",
                              "REFINE",
                              "REFRAME",
                              "REMOVE_BACKGROUND",
                              "SEGMENTATION",
                              "UPSCALE",
                              "UPSCALE_360",
                              "VECTORIZATION"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "embedding": {
                          "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                          "items": {
                            "type": "number"
                          },
                          "type": "array"
                        },
                        "firstFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "id": {
                          "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "isHidden": {
                          "description": "Whether the asset is hidden.",
                          "type": "boolean"
                        },
                        "kind": {
                          "description": "The kind of asset",
                          "enum": [
                            "3d",
                            "audio",
                            "document",
                            "image",
                            "image-hdr",
                            "json",
                            "text",
                            "video"
                          ],
                          "type": "string"
                        },
                        "lastFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the asset with some additional information",
                          "properties": {
                            "angular": {
                              "default": 0.5,
                              "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "aspectRatio": {
                              "description": "The optional aspect ratio given for the generation, only applicable for some models",
                              "type": "string"
                            },
                            "backgroundOpacity": {
                              "default": 0,
                              "maximum": 255,
                              "minimum": 0,
                              "type": "number"
                            },
                            "baseModelId": {
                              "description": "The baseModelId that maybe changed at inference time",
                              "type": "string"
                            },
                            "bbox": {
                              "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 4,
                              "minItems": 4,
                              "type": "array"
                            },
                            "betterQuality": {
                              "default": false,
                              "type": "boolean"
                            },
                            "cannyStructureImage": {
                              "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "clustering": {
                              "default": false,
                              "description": "Activate clustering.",
                              "type": "boolean"
                            },
                            "colorCorrection": {
                              "default": true,
                              "description": "Ensure upscaled tile have the same color histogram as original tile.",
                              "type": "boolean"
                            },
                            "colorMode": {
                              "type": "string"
                            },
                            "colorPrecision": {
                              "type": "number"
                            },
                            "concepts": {
                              "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "modelEpoch": {
                                    "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                    "type": "string"
                                  },
                                  "scale": {
                                    "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                    "maximum": 2,
                                    "minimum": -2,
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "modelId",
                                  "scale"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "contours": {
                              "items": {
                                "items": {
                                  "items": {
                                    "items": {
                                      "type": "number"
                                    },
                                    "type": "array"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "type": "array"
                            },
                            "controlEnd": {
                              "description": "End step for control.",
                              "type": "number"
                            },
                            "copiedAt": {
                              "description": "The date when the asset was copied to a project",
                              "type": "string"
                            },
                            "cornerThreshold": {
                              "type": "number"
                            },
                            "creativity": {
                              "default": 35,
                              "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "creativityDecay": {
                              "default": 80,
                              "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "defaultParameters": {
                              "default": false,
                              "description": "If true, use the default parameters",
                              "type": "boolean"
                            },
                            "depthFidelity": {
                              "default": 90,
                              "description": "The depth fidelity if a depth image provided",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "depthImage": {
                              "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "detailsLevel": {
                              "default": 0,
                              "description": "Amount of details to remove or add",
                              "maximum": 50,
                              "minimum": -50,
                              "type": "number"
                            },
                            "dilate": {
                              "default": 0,
                              "maximum": 30,
                              "minimum": 0,
                              "type": "number"
                            },
                            "factor": {
                              "default": 5,
                              "description": "Contrast factor for Grayscale detector",
                              "type": "number"
                            },
                            "fileName": {
                              "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                              "type": "string"
                            },
                            "filterSpeckle": {
                              "type": "number"
                            },
                            "fractality": {
                              "default": 40,
                              "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "geometryEnforcement": {
                              "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "guidance": {
                              "description": "The guidance used to generate this asset",
                              "type": "number"
                            },
                            "halfMode": {
                              "type": "boolean"
                            },
                            "hdr": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            },
                            "highThreshold": {
                              "default": 200,
                              "description": "High threshold for Canny detector",
                              "type": "number"
                            },
                            "horizontalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Horizontal expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "image": {
                              "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                              "type": "string"
                            },
                            "imageFidelity": {
                              "default": 50,
                              "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "imageType": {
                              "default": "seamfull",
                              "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                              "enum": [
                                "seamfull",
                                "skybox",
                                "texture"
                              ],
                              "type": "string"
                            },
                            "inferenceId": {
                              "description": "The id of the Inference describing how this image was generated",
                              "type": "string"
                            },
                            "inputFidelity": {
                              "default": "low",
                              "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                              "enum": [
                                "high",
                                "low"
                              ],
                              "type": "string"
                            },
                            "inputLocation": {
                              "default": "middle",
                              "description": "Location of the input image in the output.",
                              "enum": [
                                "bottom",
                                "left",
                                "middle",
                                "right",
                                "top"
                              ],
                              "type": "string"
                            },
                            "invert": {
                              "default": false,
                              "description": "To invert the relief",
                              "type": "boolean"
                            },
                            "keepsFileNames": {
                              "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                              "type": "boolean"
                            },
                            "keypointThreshold": {
                              "default": 0.3,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "kind": {
                              "enum": [
                                "3d",
                                "audio",
                                "document",
                                "image",
                                "image-hdr",
                                "json",
                                "text",
                                "video"
                              ],
                              "type": "string"
                            },
                            "layerDifference": {
                              "type": "number"
                            },
                            "lengthThreshold": {
                              "type": "number"
                            },
                            "lockExpiresAt": {
                              "description": "The ISO timestamp when the lock on the canvas will expire",
                              "type": "string"
                            },
                            "lowThreshold": {
                              "default": 100,
                              "description": "Low threshold for Canny detector",
                              "type": "number"
                            },
                            "mask": {
                              "description": "The mask used for the asset generation or editing",
                              "type": "string"
                            },
                            "maxIterations": {
                              "type": "number"
                            },
                            "maxThreshold": {
                              "default": 90,
                              "description": "Maximum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "minThreshold": {
                              "default": 10,
                              "description": "Minimum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "modality": {
                              "default": "canny",
                              "description": "Modality to detect",
                              "enum": [
                                "canny",
                                "depth",
                                "grayscale",
                                "lineart_anime",
                                "mlsd",
                                "normal",
                                "pose",
                                "scribble",
                                "segmentation",
                                "sketch"
                              ],
                              "type": "string"
                            },
                            "mode": {
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The modelId used to generate this asset",
                              "type": "string"
                            },
                            "modelType": {
                              "description": "The type of the generator used",
                              "enum": [
                                "custom",
                                "elevenlabs-voice",
                                "flux.1",
                                "flux.1-composition",
                                "flux.1-kontext-dev",
                                "flux.1-kontext-lora",
                                "flux.1-krea-dev",
                                "flux.1-krea-lora",
                                "flux.1-lora",
                                "flux.1-pro",
                                "flux.1.1-pro-ultra",
                                "flux.2-dev-edit-lora",
                                "flux.2-dev-lora",
                                "flux.2-klein-4b-edit-lora",
                                "flux.2-klein-4b-lora",
                                "flux.2-klein-9b-edit-lora",
                                "flux.2-klein-9b-lora",
                                "flux.2-klein-base-4b-edit-lora",
                                "flux.2-klein-base-4b-lora",
                                "flux.2-klein-base-9b-edit-lora",
                                "flux.2-klein-base-9b-lora",
                                "flux1.1-pro",
                                "gpt-image-1",
                                "qwen-image-2512-lora",
                                "qwen-image-edit-2509-lora",
                                "qwen-image-edit-2511-lora",
                                "qwen-image-edit-lora",
                                "qwen-image-lora",
                                "zimage-de-turbo-lora",
                                "zimage-lora",
                                "zimage-turbo-lora"
                              ],
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "nbMasks": {
                              "type": "number"
                            },
                            "negativePrompt": {
                              "description": "The negative prompt used to generate this asset",
                              "type": "string"
                            },
                            "negativePromptStrength": {
                              "default": 0,
                              "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                              "maximum": 10,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numInferenceSteps": {
                              "default": 10,
                              "description": "The number of denoising steps for each image generation.",
                              "maximum": 50,
                              "minimum": 5,
                              "type": "number"
                            },
                            "numOutputs": {
                              "default": 4,
                              "description": "The number of outputs to generate.",
                              "maximum": 8,
                              "minimum": 1,
                              "type": "number"
                            },
                            "originalAssetId": {
                              "type": "string"
                            },
                            "outputIndex": {
                              "type": "number"
                            },
                            "overlapPercentage": {
                              "default": 0.08,
                              "description": "Overlap percentage for the output image.",
                              "maximum": 0.5,
                              "minimum": 0,
                              "type": "number"
                            },
                            "overrideEmbeddings": {
                              "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                              "type": "boolean"
                            },
                            "parentId": {
                              "type": "string"
                            },
                            "parentJobId": {
                              "type": "string"
                            },
                            "pathPrecision": {
                              "type": "number"
                            },
                            "points": {
                              "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                              "items": {
                                "items": {
                                  "type": "number"
                                },
                                "type": "array"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "polished": {
                              "default": 0.5,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "preset": {
                              "type": "string"
                            },
                            "progressPercent": {
                              "type": "number"
                            },
                            "prompt": {
                              "description": "The prompt that guided the asset generation or editing",
                              "type": "string"
                            },
                            "promptFidelity": {
                              "default": 50,
                              "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "raised": {
                              "default": 0.5,
                              "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "referenceImages": {
                              "description": "The reference images used for the asset generation or editing",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "refinementSteps": {
                              "default": 0,
                              "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                              "maximum": 4,
                              "minimum": 0,
                              "type": "number"
                            },
                            "removeBackground": {
                              "default": true,
                              "description": "Remove background for Grayscale detector",
                              "type": "boolean"
                            },
                            "resizeOption": {
                              "default": 1,
                              "description": "Size proportion of the input image in the output.",
                              "maximum": 1,
                              "minimum": 0.1,
                              "type": "number"
                            },
                            "resultContours": {
                              "default": false,
                              "description": "Boolean to output the contours.",
                              "type": "boolean"
                            },
                            "resultImage": {
                              "default": false,
                              "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                              "type": "boolean"
                            },
                            "resultMask": {
                              "default": true,
                              "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                              "type": "boolean"
                            },
                            "rootParentId": {
                              "type": "string"
                            },
                            "saveFlipbook": {
                              "default": true,
                              "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                              "type": "boolean"
                            },
                            "scalingFactor": {
                              "default": 2,
                              "description": "Scaling factor (when `targetWidth` not specified)",
                              "maximum": 16,
                              "minimum": 1,
                              "type": "number"
                            },
                            "scheduler": {
                              "description": "The scheduler used to generate this asset",
                              "type": "string"
                            },
                            "seed": {
                              "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                              "type": "string"
                            },
                            "sharpen": {
                              "default": false,
                              "description": "Sharpen tiles.",
                              "type": "boolean"
                            },
                            "shiny": {
                              "default": 0.5,
                              "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "sketch": {
                              "default": false,
                              "description": "Activate sketch detection instead of canny.",
                              "type": "boolean"
                            },
                            "sourceProjectId": {
                              "type": "string"
                            },
                            "spliceThreshold": {
                              "type": "number"
                            },
                            "strength": {
                              "default": 1,
                              "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                              "type": "number"
                            },
                            "structureFidelity": {
                              "default": 35,
                              "description": "Strength for the input image structure preservation",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "structureImage": {
                              "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "style": {
                              "enum": [
                                "3d-cartoon",
                                "3d-rendered",
                                "anime",
                                "cartoon",
                                "cinematic",
                                "claymation",
                                "cloud-skydome",
                                "comic",
                                "cyberpunk",
                                "enchanted",
                                "fantasy",
                                "ink",
                                "manga",
                                "manga-color",
                                "minimalist",
                                "neon-tron",
                                "oil-painting",
                                "pastel",
                                "photo",
                                "photography",
                                "psychedelic",
                                "retro-fantasy",
                                "scifi-concept-art",
                                "space",
                                "standard",
                                "whimsical"
                              ],
                              "type": "string"
                            },
                            "styleFidelity": {
                              "default": 20,
                              "description": "The higher the value the more it will look like the style image(s)",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "styleImages": {
                              "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                              "items": {
                                "type": "string"
                              },
                              "maxItems": 10,
                              "type": "array"
                            },
                            "styleImagesFidelity": {
                              "default": 17,
                              "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetHeight": {
                              "default": 1024,
                              "description": "The target height of the output image.",
                              "maximum": 2048,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetWidth": {
                              "description": "Target width for the upscaled image, take priority over scaling factor",
                              "maximum": 16000,
                              "minimum": 1024,
                              "type": "number"
                            },
                            "text": {
                              "description": "A textual description / keywords describing the object of interest.",
                              "maxLength": 100,
                              "type": "string"
                            },
                            "texture": {
                              "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "thumbnail": {
                              "additionalProperties": false,
                              "description": "The thumbnail of the canvas",
                              "properties": {
                                "assetId": {
                                  "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                  "type": "string"
                                },
                                "url": {
                                  "description": "The url of the image used as a thumbnail for the canvas",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "assetId",
                                "url"
                              ],
                              "type": "object"
                            },
                            "tileStyle": {
                              "default": false,
                              "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                              "type": "boolean"
                            },
                            "trainingImage": {
                              "type": "boolean"
                            },
                            "type": {
                              "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                              "enum": [
                                "3d-texture",
                                "3d-texture-albedo",
                                "3d-texture-metallic",
                                "3d-texture-mtl",
                                "3d-texture-normal",
                                "3d-texture-roughness",
                                "3d23d",
                                "3d23d-texture",
                                "audio2audio",
                                "audio2txt",
                                "audio2video",
                                "background-removal",
                                "canvas",
                                "canvas-drawing",
                                "canvas-export",
                                "detection",
                                "generative-fill",
                                "image-prompt-editing",
                                "img23d",
                                "img2img",
                                "img2splat",
                                "img2txt",
                                "img2video",
                                "inference-controlnet",
                                "inference-controlnet-img2img",
                                "inference-controlnet-inpaint",
                                "inference-controlnet-inpaint-ip-adapter",
                                "inference-controlnet-ip-adapter",
                                "inference-controlnet-reference",
                                "inference-controlnet-texture",
                                "inference-img2img",
                                "inference-img2img-ip-adapter",
                                "inference-img2img-texture",
                                "inference-inpaint",
                                "inference-inpaint-ip-adapter",
                                "inference-reference",
                                "inference-reference-texture",
                                "inference-txt2img",
                                "inference-txt2img-ip-adapter",
                                "inference-txt2img-texture",
                                "patch",
                                "pixelization",
                                "reframe",
                                "restyle",
                                "segment",
                                "segmentation-image",
                                "segmentation-mask",
                                "skybox-3d",
                                "skybox-base-360",
                                "skybox-hdri",
                                "texture",
                                "texture-albedo",
                                "texture-ao",
                                "texture-edge",
                                "texture-height",
                                "texture-metallic",
                                "texture-normal",
                                "texture-smoothness",
                                "txt23d",
                                "txt2audio",
                                "txt2img",
                                "txt2txt",
                                "txt2video",
                                "unknown",
                                "uploaded",
                                "uploaded-3d",
                                "uploaded-audio",
                                "uploaded-avatar",
                                "uploaded-text",
                                "uploaded-video",
                                "upscale",
                                "upscale-skybox",
                                "upscale-texture",
                                "upscale-video",
                                "vectorization",
                                "video23d",
                                "video2audio",
                                "video2img",
                                "video2txt",
                                "video2video",
                                "voice-clone"
                              ],
                              "type": "string"
                            },
                            "verticalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Vertical expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "width": {
                              "default": 1536,
                              "description": "The width of the rendered image.",
                              "maximum": 2048,
                              "minimum": 1024,
                              "type": "number"
                            }
                          },
                          "required": [
                            "kind",
                            "type"
                          ],
                          "type": "object"
                        },
                        "mimeType": {
                          "description": "The mime type of the asset (example: \"image/png\")",
                          "type": "string"
                        },
                        "nsfw": {
                          "description": "The NSFW labels",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "originalFileUrl": {
                          "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                          "type": "string"
                        },
                        "originalMimeType": {
                          "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                          "enum": [
                            "application/gzip",
                            "application/json",
                            "application/octet-stream",
                            "application/pdf",
                            "application/safetensors",
                            "application/vnd.autodesk.fbx",
                            "application/x-authorware-bin",
                            "application/x-zip-compressed",
                            "application/x.autodesk.fbx",
                            "application/zip",
                            "audio/flac",
                            "audio/m4a",
                            "audio/mpeg",
                            "audio/ogg",
                            "audio/wav",
                            "image/aces",
                            "image/avif",
                            "image/bmp",
                            "image/gif",
                            "image/heic",
                            "image/jpeg",
                            "image/png",
                            "image/svg+xml",
                            "image/tiff",
                            "image/vnd.radiance",
                            "image/webp",
                            "image/x-exr",
                            "model/glb",
                            "model/gltf+json",
                            "model/gltf-binary",
                            "model/ksplat",
                            "model/mtl",
                            "model/obj",
                            "model/ply",
                            "model/sog",
                            "model/splat",
                            "model/spz",
                            "model/stl",
                            "model/vnd.collada+xml",
                            "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                            "model/vnd.usdz+zip",
                            "model/x-3d-vox",
                            "model/x-blender",
                            "model/x-fbx",
                            "model/x-maya-ascii",
                            "model/x-maya-binary",
                            "model/x-vsplat",
                            "model/x3d+xml",
                            "text/plain",
                            "video/mp4",
                            "video/quicktime",
                            "video/webm"
                          ],
                          "type": "string"
                        },
                        "outputIndex": {
                          "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                          "type": "number"
                        },
                        "ownerId": {
                          "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                          "type": "string"
                        },
                        "preview": {
                          "additionalProperties": false,
                          "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "description": "The privacy of the asset",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "properties": {
                          "additionalProperties": false,
                          "description": "The properties of the asset, content may depend on the kind of asset returned",
                          "properties": {
                            "animationFrameCount": {
                              "description": "Number of animation frames if animations exist",
                              "type": "number"
                            },
                            "bitrate": {
                              "description": "Bitrate of the media in bits per second",
                              "type": "number"
                            },
                            "boneCount": {
                              "description": "Number of bones if skeleton exists",
                              "type": "number"
                            },
                            "cameraMode": {
                              "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "enum": [
                                "aerial",
                                "interior",
                                "turntable"
                              ],
                              "type": "string"
                            },
                            "cameraTrajectory": {
                              "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "items": {
                                "additionalProperties": false,
                                "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                "properties": {
                                  "fov": {
                                    "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                    "type": "number"
                                  },
                                  "position": {
                                    "description": "Camera eye position in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "target": {
                                    "description": "Look-at point in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "position",
                                  "target"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "channels": {
                              "description": "Number of channels of the audio",
                              "type": "number"
                            },
                            "charCount": {
                              "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                              "type": "number"
                            },
                            "classification": {
                              "description": "Classification of the audio",
                              "enum": [
                                "effect",
                                "interview",
                                "music",
                                "other",
                                "sound",
                                "speech",
                                "text",
                                "unknown"
                              ],
                              "type": "string"
                            },
                            "codecName": {
                              "description": "Codec name of the media",
                              "type": "string"
                            },
                            "description": {
                              "description": "Description of the audio",
                              "type": "string"
                            },
                            "dimensions": {
                              "description": "Bounding box dimensions [width, height, depth]",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "duration": {
                              "description": "Duration of the media in seconds",
                              "type": "number"
                            },
                            "faceCount": {
                              "description": "Number of faces/triangles in the mesh",
                              "type": "number"
                            },
                            "format": {
                              "description": "Format of the mesh file (e.g. 'glb', etc.)",
                              "type": "string"
                            },
                            "frameRate": {
                              "description": "Frame rate of the video in frames per second",
                              "type": "number"
                            },
                            "hasAnimations": {
                              "description": "Whether the mesh has animations",
                              "type": "boolean"
                            },
                            "hasFullPreview": {
                              "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                              "type": "boolean"
                            },
                            "hasNormals": {
                              "description": "Whether the mesh has normal vectors",
                              "type": "boolean"
                            },
                            "hasSkeleton": {
                              "description": "Whether the mesh has bones/skeleton",
                              "type": "boolean"
                            },
                            "hasUVs": {
                              "description": "Whether the mesh has UV coordinates",
                              "type": "boolean"
                            },
                            "height": {
                              "type": "number"
                            },
                            "nbFrames": {
                              "description": "Number of frames in the video",
                              "type": "number"
                            },
                            "preview": {
                              "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                              "type": "string"
                            },
                            "sampleRate": {
                              "description": "Sample rate of the media in Hz",
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "transcription": {
                              "additionalProperties": false,
                              "description": "Transcription of the audio",
                              "properties": {
                                "text": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text"
                              ],
                              "type": "object"
                            },
                            "vertexCount": {
                              "description": "Number of vertices in the mesh",
                              "type": "number"
                            },
                            "width": {
                              "type": "number"
                            },
                            "wordCount": {
                              "description": "Number of whitespace-separated words in the text",
                              "type": "number"
                            }
                          },
                          "required": [
                            "size"
                          ],
                          "type": "object"
                        },
                        "qualityGate": {
                          "additionalProperties": false,
                          "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                          "properties": {
                            "aiQualityScore": {
                              "description": "Generic AI-quality sub-score",
                              "type": "number"
                            },
                            "appliedBriefIds": {
                              "description": "Ids of briefs that contributed",
                              "items": {
                                "description": "Opaque identifier for a brief, derived from its scope.",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "briefComplianceScore": {
                              "description": "Brief-compliance sub-score (omitted when no brief applied)",
                              "type": "number"
                            },
                            "computedAt": {
                              "description": "ISO-8601 timestamp of when scoring ran",
                              "type": "string"
                            },
                            "details": {
                              "additionalProperties": false,
                              "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                              "properties": {
                                "aiQuality": {
                                  "additionalProperties": false,
                                  "description": "Always-on generic AI-quality dimension",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                },
                                "briefCompliance": {
                                  "additionalProperties": false,
                                  "description": "Brief-compliance dimension; omitted when no brief applied",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                }
                              },
                              "required": [
                                "aiQuality"
                              ],
                              "type": "object"
                            },
                            "error": {
                              "description": "Error message when status is 'error' (truncated)",
                              "type": "string"
                            },
                            "overallScore": {
                              "description": "0–100 composite score (present when status is 'scored')",
                              "type": "number"
                            },
                            "sensitivity": {
                              "description": "Sensitivity used for the verdict",
                              "enum": [
                                "high",
                                "low",
                                "medium"
                              ],
                              "type": "string"
                            },
                            "status": {
                              "description": "Whether scoring succeeded or errored",
                              "enum": [
                                "error",
                                "scored"
                              ],
                              "type": "string"
                            },
                            "verdict": {
                              "description": "pass / warn / fail (present when status is 'scored')",
                              "enum": [
                                "fail",
                                "pass",
                                "warn"
                              ],
                              "type": "string"
                            },
                            "version": {
                              "description": "Rubric/model version that produced this result",
                              "type": "string"
                            }
                          },
                          "required": [
                            "computedAt",
                            "status",
                            "version"
                          ],
                          "type": "object"
                        },
                        "source": {
                          "description": "source of the asset",
                          "enum": [
                            "3d23d",
                            "3d23d:texture",
                            "3d:texture",
                            "3d:texture:albedo",
                            "3d:texture:metallic",
                            "3d:texture:mtl",
                            "3d:texture:normal",
                            "3d:texture:roughness",
                            "audio2audio",
                            "audio2txt",
                            "audio2video",
                            "background-removal",
                            "canvas",
                            "canvas-drawing",
                            "canvas-export",
                            "detection",
                            "generative-fill",
                            "image-prompt-editing",
                            "img23d",
                            "img2img",
                            "img2splat",
                            "img2txt",
                            "img2video",
                            "inference-control-net",
                            "inference-control-net-img",
                            "inference-control-net-inpainting",
                            "inference-control-net-inpainting-ip-adapter",
                            "inference-control-net-ip-adapter",
                            "inference-control-net-reference",
                            "inference-control-net-texture",
                            "inference-img",
                            "inference-img-ip-adapter",
                            "inference-img-texture",
                            "inference-in-paint",
                            "inference-in-paint-ip-adapter",
                            "inference-reference",
                            "inference-reference-texture",
                            "inference-txt",
                            "inference-txt-ip-adapter",
                            "inference-txt-texture",
                            "patch",
                            "pixelization",
                            "reframe",
                            "restyle",
                            "segment",
                            "segmentation-image",
                            "segmentation-mask",
                            "skybox-3d",
                            "skybox-base-360",
                            "skybox-hdri",
                            "texture",
                            "texture:albedo",
                            "texture:ao",
                            "texture:edge",
                            "texture:height",
                            "texture:metallic",
                            "texture:normal",
                            "texture:smoothness",
                            "txt23d",
                            "txt2audio",
                            "txt2img",
                            "txt2txt",
                            "txt2video",
                            "unknown",
                            "uploaded",
                            "uploaded-3d",
                            "uploaded-audio",
                            "uploaded-avatar",
                            "uploaded-text",
                            "uploaded-video",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "upscale-video",
                            "vectorization",
                            "video23d",
                            "video2audio",
                            "video2img",
                            "video2txt",
                            "video2video",
                            "voice-clone"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The actual status",
                          "enum": [
                            "error",
                            "pending",
                            "success"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "url": {
                          "description": "Signed URL to get the asset content",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "collectionIds",
                        "createdAt",
                        "editCapabilities",
                        "id",
                        "kind",
                        "metadata",
                        "mimeType",
                        "ownerId",
                        "privacy",
                        "properties",
                        "source",
                        "status",
                        "tags",
                        "updatedAt",
                        "url"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "colorPalette": {
                    "description": "The color palette to use for the pixel art.",
                    "items": {
                      "description": "A color palette item is an array of integers with a length of 3 (example: [140, 143, 174]).\nThe integers must be within [0, 255]",
                      "items": {
                        "type": "number"
                      },
                      "maxItems": 3,
                      "minItems": 3,
                      "type": "array"
                    },
                    "type": "array"
                  },
                  "colorPaletteSize": {
                    "description": "If no colorPalette is provided, you can provide a palette size. Value should be between 2 and 256.",
                    "type": "number"
                  },
                  "image": {
                    "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\") to pixelate.",
                    "type": "string"
                  },
                  "pixelGridSize": {
                    "description": "The size of the pixel grid in the output image. Should be 16, 32, 64, 128, or 256.",
                    "enum": [
                      128,
                      16,
                      256,
                      32,
                      64
                    ],
                    "type": "number"
                  },
                  "removeBackground": {
                    "default": false,
                    "description": "Remove the background from the image.",
                    "type": "boolean"
                  },
                  "removeNoise": {
                    "description": "Reduce pixel art artifacts.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "image",
                  "pixelGridSize",
                  "removeNoise"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/remove-background": {
      "post": {
        "operationId": "PostRemoveBackgroundInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nAdvanced remove-background of an image.\n\n**Note**: Please use `POST /generate/custom/{modelId}` endpoint instead. You can retrieve the model inputs from the `GET /models/{modelId}` endpoint. Please use `model_bria-remove-background` `modelId` for example. See https://docs.scenario.com/get-started/generation/background-removal-models for more details.",
        "tags": [
          "Generate: Image Editing"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "asset": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "automaticCaptioning": {
                          "description": "Automatic captioning of the asset",
                          "type": "string"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this asset belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                          "type": "string"
                        },
                        "description": {
                          "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                          "type": "string"
                        },
                        "editCapabilities": {
                          "description": "List of edit capabilities",
                          "items": {
                            "enum": [
                              "DETECTION",
                              "GENERATIVE_FILL",
                              "PIXELATE",
                              "PROMPT_EDITING",
                              "REFINE",
                              "REFRAME",
                              "REMOVE_BACKGROUND",
                              "SEGMENTATION",
                              "UPSCALE",
                              "UPSCALE_360",
                              "VECTORIZATION"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "embedding": {
                          "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                          "items": {
                            "type": "number"
                          },
                          "type": "array"
                        },
                        "firstFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "id": {
                          "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "isHidden": {
                          "description": "Whether the asset is hidden.",
                          "type": "boolean"
                        },
                        "kind": {
                          "description": "The kind of asset",
                          "enum": [
                            "3d",
                            "audio",
                            "document",
                            "image",
                            "image-hdr",
                            "json",
                            "text",
                            "video"
                          ],
                          "type": "string"
                        },
                        "lastFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the asset with some additional information",
                          "properties": {
                            "angular": {
                              "default": 0.5,
                              "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "aspectRatio": {
                              "description": "The optional aspect ratio given for the generation, only applicable for some models",
                              "type": "string"
                            },
                            "backgroundOpacity": {
                              "default": 0,
                              "maximum": 255,
                              "minimum": 0,
                              "type": "number"
                            },
                            "baseModelId": {
                              "description": "The baseModelId that maybe changed at inference time",
                              "type": "string"
                            },
                            "bbox": {
                              "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 4,
                              "minItems": 4,
                              "type": "array"
                            },
                            "betterQuality": {
                              "default": false,
                              "type": "boolean"
                            },
                            "cannyStructureImage": {
                              "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "clustering": {
                              "default": false,
                              "description": "Activate clustering.",
                              "type": "boolean"
                            },
                            "colorCorrection": {
                              "default": true,
                              "description": "Ensure upscaled tile have the same color histogram as original tile.",
                              "type": "boolean"
                            },
                            "colorMode": {
                              "type": "string"
                            },
                            "colorPrecision": {
                              "type": "number"
                            },
                            "concepts": {
                              "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "modelEpoch": {
                                    "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                    "type": "string"
                                  },
                                  "scale": {
                                    "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                    "maximum": 2,
                                    "minimum": -2,
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "modelId",
                                  "scale"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "contours": {
                              "items": {
                                "items": {
                                  "items": {
                                    "items": {
                                      "type": "number"
                                    },
                                    "type": "array"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "type": "array"
                            },
                            "controlEnd": {
                              "description": "End step for control.",
                              "type": "number"
                            },
                            "copiedAt": {
                              "description": "The date when the asset was copied to a project",
                              "type": "string"
                            },
                            "cornerThreshold": {
                              "type": "number"
                            },
                            "creativity": {
                              "default": 35,
                              "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "creativityDecay": {
                              "default": 80,
                              "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "defaultParameters": {
                              "default": false,
                              "description": "If true, use the default parameters",
                              "type": "boolean"
                            },
                            "depthFidelity": {
                              "default": 90,
                              "description": "The depth fidelity if a depth image provided",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "depthImage": {
                              "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "detailsLevel": {
                              "default": 0,
                              "description": "Amount of details to remove or add",
                              "maximum": 50,
                              "minimum": -50,
                              "type": "number"
                            },
                            "dilate": {
                              "default": 0,
                              "maximum": 30,
                              "minimum": 0,
                              "type": "number"
                            },
                            "factor": {
                              "default": 5,
                              "description": "Contrast factor for Grayscale detector",
                              "type": "number"
                            },
                            "fileName": {
                              "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                              "type": "string"
                            },
                            "filterSpeckle": {
                              "type": "number"
                            },
                            "fractality": {
                              "default": 40,
                              "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "geometryEnforcement": {
                              "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "guidance": {
                              "description": "The guidance used to generate this asset",
                              "type": "number"
                            },
                            "halfMode": {
                              "type": "boolean"
                            },
                            "hdr": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            },
                            "highThreshold": {
                              "default": 200,
                              "description": "High threshold for Canny detector",
                              "type": "number"
                            },
                            "horizontalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Horizontal expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "image": {
                              "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                              "type": "string"
                            },
                            "imageFidelity": {
                              "default": 50,
                              "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "imageType": {
                              "default": "seamfull",
                              "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                              "enum": [
                                "seamfull",
                                "skybox",
                                "texture"
                              ],
                              "type": "string"
                            },
                            "inferenceId": {
                              "description": "The id of the Inference describing how this image was generated",
                              "type": "string"
                            },
                            "inputFidelity": {
                              "default": "low",
                              "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                              "enum": [
                                "high",
                                "low"
                              ],
                              "type": "string"
                            },
                            "inputLocation": {
                              "default": "middle",
                              "description": "Location of the input image in the output.",
                              "enum": [
                                "bottom",
                                "left",
                                "middle",
                                "right",
                                "top"
                              ],
                              "type": "string"
                            },
                            "invert": {
                              "default": false,
                              "description": "To invert the relief",
                              "type": "boolean"
                            },
                            "keepsFileNames": {
                              "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                              "type": "boolean"
                            },
                            "keypointThreshold": {
                              "default": 0.3,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "kind": {
                              "enum": [
                                "3d",
                                "audio",
                                "document",
                                "image",
                                "image-hdr",
                                "json",
                                "text",
                                "video"
                              ],
                              "type": "string"
                            },
                            "layerDifference": {
                              "type": "number"
                            },
                            "lengthThreshold": {
                              "type": "number"
                            },
                            "lockExpiresAt": {
                              "description": "The ISO timestamp when the lock on the canvas will expire",
                              "type": "string"
                            },
                            "lowThreshold": {
                              "default": 100,
                              "description": "Low threshold for Canny detector",
                              "type": "number"
                            },
                            "mask": {
                              "description": "The mask used for the asset generation or editing",
                              "type": "string"
                            },
                            "maxIterations": {
                              "type": "number"
                            },
                            "maxThreshold": {
                              "default": 90,
                              "description": "Maximum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "minThreshold": {
                              "default": 10,
                              "description": "Minimum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "modality": {
                              "default": "canny",
                              "description": "Modality to detect",
                              "enum": [
                                "canny",
                                "depth",
                                "grayscale",
                                "lineart_anime",
                                "mlsd",
                                "normal",
                                "pose",
                                "scribble",
                                "segmentation",
                                "sketch"
                              ],
                              "type": "string"
                            },
                            "mode": {
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The modelId used to generate this asset",
                              "type": "string"
                            },
                            "modelType": {
                              "description": "The type of the generator used",
                              "enum": [
                                "custom",
                                "elevenlabs-voice",
                                "flux.1",
                                "flux.1-composition",
                                "flux.1-kontext-dev",
                                "flux.1-kontext-lora",
                                "flux.1-krea-dev",
                                "flux.1-krea-lora",
                                "flux.1-lora",
                                "flux.1-pro",
                                "flux.1.1-pro-ultra",
                                "flux.2-dev-edit-lora",
                                "flux.2-dev-lora",
                                "flux.2-klein-4b-edit-lora",
                                "flux.2-klein-4b-lora",
                                "flux.2-klein-9b-edit-lora",
                                "flux.2-klein-9b-lora",
                                "flux.2-klein-base-4b-edit-lora",
                                "flux.2-klein-base-4b-lora",
                                "flux.2-klein-base-9b-edit-lora",
                                "flux.2-klein-base-9b-lora",
                                "flux1.1-pro",
                                "gpt-image-1",
                                "qwen-image-2512-lora",
                                "qwen-image-edit-2509-lora",
                                "qwen-image-edit-2511-lora",
                                "qwen-image-edit-lora",
                                "qwen-image-lora",
                                "zimage-de-turbo-lora",
                                "zimage-lora",
                                "zimage-turbo-lora"
                              ],
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "nbMasks": {
                              "type": "number"
                            },
                            "negativePrompt": {
                              "description": "The negative prompt used to generate this asset",
                              "type": "string"
                            },
                            "negativePromptStrength": {
                              "default": 0,
                              "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                              "maximum": 10,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numInferenceSteps": {
                              "default": 10,
                              "description": "The number of denoising steps for each image generation.",
                              "maximum": 50,
                              "minimum": 5,
                              "type": "number"
                            },
                            "numOutputs": {
                              "default": 4,
                              "description": "The number of outputs to generate.",
                              "maximum": 8,
                              "minimum": 1,
                              "type": "number"
                            },
                            "originalAssetId": {
                              "type": "string"
                            },
                            "outputIndex": {
                              "type": "number"
                            },
                            "overlapPercentage": {
                              "default": 0.08,
                              "description": "Overlap percentage for the output image.",
                              "maximum": 0.5,
                              "minimum": 0,
                              "type": "number"
                            },
                            "overrideEmbeddings": {
                              "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                              "type": "boolean"
                            },
                            "parentId": {
                              "type": "string"
                            },
                            "parentJobId": {
                              "type": "string"
                            },
                            "pathPrecision": {
                              "type": "number"
                            },
                            "points": {
                              "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                              "items": {
                                "items": {
                                  "type": "number"
                                },
                                "type": "array"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "polished": {
                              "default": 0.5,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "preset": {
                              "type": "string"
                            },
                            "progressPercent": {
                              "type": "number"
                            },
                            "prompt": {
                              "description": "The prompt that guided the asset generation or editing",
                              "type": "string"
                            },
                            "promptFidelity": {
                              "default": 50,
                              "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "raised": {
                              "default": 0.5,
                              "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "referenceImages": {
                              "description": "The reference images used for the asset generation or editing",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "refinementSteps": {
                              "default": 0,
                              "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                              "maximum": 4,
                              "minimum": 0,
                              "type": "number"
                            },
                            "removeBackground": {
                              "default": true,
                              "description": "Remove background for Grayscale detector",
                              "type": "boolean"
                            },
                            "resizeOption": {
                              "default": 1,
                              "description": "Size proportion of the input image in the output.",
                              "maximum": 1,
                              "minimum": 0.1,
                              "type": "number"
                            },
                            "resultContours": {
                              "default": false,
                              "description": "Boolean to output the contours.",
                              "type": "boolean"
                            },
                            "resultImage": {
                              "default": false,
                              "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                              "type": "boolean"
                            },
                            "resultMask": {
                              "default": true,
                              "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                              "type": "boolean"
                            },
                            "rootParentId": {
                              "type": "string"
                            },
                            "saveFlipbook": {
                              "default": true,
                              "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                              "type": "boolean"
                            },
                            "scalingFactor": {
                              "default": 2,
                              "description": "Scaling factor (when `targetWidth` not specified)",
                              "maximum": 16,
                              "minimum": 1,
                              "type": "number"
                            },
                            "scheduler": {
                              "description": "The scheduler used to generate this asset",
                              "type": "string"
                            },
                            "seed": {
                              "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                              "type": "string"
                            },
                            "sharpen": {
                              "default": false,
                              "description": "Sharpen tiles.",
                              "type": "boolean"
                            },
                            "shiny": {
                              "default": 0.5,
                              "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "sketch": {
                              "default": false,
                              "description": "Activate sketch detection instead of canny.",
                              "type": "boolean"
                            },
                            "sourceProjectId": {
                              "type": "string"
                            },
                            "spliceThreshold": {
                              "type": "number"
                            },
                            "strength": {
                              "default": 1,
                              "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                              "type": "number"
                            },
                            "structureFidelity": {
                              "default": 35,
                              "description": "Strength for the input image structure preservation",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "structureImage": {
                              "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "style": {
                              "enum": [
                                "3d-cartoon",
                                "3d-rendered",
                                "anime",
                                "cartoon",
                                "cinematic",
                                "claymation",
                                "cloud-skydome",
                                "comic",
                                "cyberpunk",
                                "enchanted",
                                "fantasy",
                                "ink",
                                "manga",
                                "manga-color",
                                "minimalist",
                                "neon-tron",
                                "oil-painting",
                                "pastel",
                                "photo",
                                "photography",
                                "psychedelic",
                                "retro-fantasy",
                                "scifi-concept-art",
                                "space",
                                "standard",
                                "whimsical"
                              ],
                              "type": "string"
                            },
                            "styleFidelity": {
                              "default": 20,
                              "description": "The higher the value the more it will look like the style image(s)",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "styleImages": {
                              "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                              "items": {
                                "type": "string"
                              },
                              "maxItems": 10,
                              "type": "array"
                            },
                            "styleImagesFidelity": {
                              "default": 17,
                              "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetHeight": {
                              "default": 1024,
                              "description": "The target height of the output image.",
                              "maximum": 2048,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetWidth": {
                              "description": "Target width for the upscaled image, take priority over scaling factor",
                              "maximum": 16000,
                              "minimum": 1024,
                              "type": "number"
                            },
                            "text": {
                              "description": "A textual description / keywords describing the object of interest.",
                              "maxLength": 100,
                              "type": "string"
                            },
                            "texture": {
                              "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "thumbnail": {
                              "additionalProperties": false,
                              "description": "The thumbnail of the canvas",
                              "properties": {
                                "assetId": {
                                  "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                  "type": "string"
                                },
                                "url": {
                                  "description": "The url of the image used as a thumbnail for the canvas",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "assetId",
                                "url"
                              ],
                              "type": "object"
                            },
                            "tileStyle": {
                              "default": false,
                              "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                              "type": "boolean"
                            },
                            "trainingImage": {
                              "type": "boolean"
                            },
                            "type": {
                              "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                              "enum": [
                                "3d-texture",
                                "3d-texture-albedo",
                                "3d-texture-metallic",
                                "3d-texture-mtl",
                                "3d-texture-normal",
                                "3d-texture-roughness",
                                "3d23d",
                                "3d23d-texture",
                                "audio2audio",
                                "audio2txt",
                                "audio2video",
                                "background-removal",
                                "canvas",
                                "canvas-drawing",
                                "canvas-export",
                                "detection",
                                "generative-fill",
                                "image-prompt-editing",
                                "img23d",
                                "img2img",
                                "img2splat",
                                "img2txt",
                                "img2video",
                                "inference-controlnet",
                                "inference-controlnet-img2img",
                                "inference-controlnet-inpaint",
                                "inference-controlnet-inpaint-ip-adapter",
                                "inference-controlnet-ip-adapter",
                                "inference-controlnet-reference",
                                "inference-controlnet-texture",
                                "inference-img2img",
                                "inference-img2img-ip-adapter",
                                "inference-img2img-texture",
                                "inference-inpaint",
                                "inference-inpaint-ip-adapter",
                                "inference-reference",
                                "inference-reference-texture",
                                "inference-txt2img",
                                "inference-txt2img-ip-adapter",
                                "inference-txt2img-texture",
                                "patch",
                                "pixelization",
                                "reframe",
                                "restyle",
                                "segment",
                                "segmentation-image",
                                "segmentation-mask",
                                "skybox-3d",
                                "skybox-base-360",
                                "skybox-hdri",
                                "texture",
                                "texture-albedo",
                                "texture-ao",
                                "texture-edge",
                                "texture-height",
                                "texture-metallic",
                                "texture-normal",
                                "texture-smoothness",
                                "txt23d",
                                "txt2audio",
                                "txt2img",
                                "txt2txt",
                                "txt2video",
                                "unknown",
                                "uploaded",
                                "uploaded-3d",
                                "uploaded-audio",
                                "uploaded-avatar",
                                "uploaded-text",
                                "uploaded-video",
                                "upscale",
                                "upscale-skybox",
                                "upscale-texture",
                                "upscale-video",
                                "vectorization",
                                "video23d",
                                "video2audio",
                                "video2img",
                                "video2txt",
                                "video2video",
                                "voice-clone"
                              ],
                              "type": "string"
                            },
                            "verticalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Vertical expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "width": {
                              "default": 1536,
                              "description": "The width of the rendered image.",
                              "maximum": 2048,
                              "minimum": 1024,
                              "type": "number"
                            }
                          },
                          "required": [
                            "kind",
                            "type"
                          ],
                          "type": "object"
                        },
                        "mimeType": {
                          "description": "The mime type of the asset (example: \"image/png\")",
                          "type": "string"
                        },
                        "nsfw": {
                          "description": "The NSFW labels",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "originalFileUrl": {
                          "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                          "type": "string"
                        },
                        "originalMimeType": {
                          "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                          "enum": [
                            "application/gzip",
                            "application/json",
                            "application/octet-stream",
                            "application/pdf",
                            "application/safetensors",
                            "application/vnd.autodesk.fbx",
                            "application/x-authorware-bin",
                            "application/x-zip-compressed",
                            "application/x.autodesk.fbx",
                            "application/zip",
                            "audio/flac",
                            "audio/m4a",
                            "audio/mpeg",
                            "audio/ogg",
                            "audio/wav",
                            "image/aces",
                            "image/avif",
                            "image/bmp",
                            "image/gif",
                            "image/heic",
                            "image/jpeg",
                            "image/png",
                            "image/svg+xml",
                            "image/tiff",
                            "image/vnd.radiance",
                            "image/webp",
                            "image/x-exr",
                            "model/glb",
                            "model/gltf+json",
                            "model/gltf-binary",
                            "model/ksplat",
                            "model/mtl",
                            "model/obj",
                            "model/ply",
                            "model/sog",
                            "model/splat",
                            "model/spz",
                            "model/stl",
                            "model/vnd.collada+xml",
                            "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                            "model/vnd.usdz+zip",
                            "model/x-3d-vox",
                            "model/x-blender",
                            "model/x-fbx",
                            "model/x-maya-ascii",
                            "model/x-maya-binary",
                            "model/x-vsplat",
                            "model/x3d+xml",
                            "text/plain",
                            "video/mp4",
                            "video/quicktime",
                            "video/webm"
                          ],
                          "type": "string"
                        },
                        "outputIndex": {
                          "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                          "type": "number"
                        },
                        "ownerId": {
                          "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                          "type": "string"
                        },
                        "preview": {
                          "additionalProperties": false,
                          "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "description": "The privacy of the asset",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "properties": {
                          "additionalProperties": false,
                          "description": "The properties of the asset, content may depend on the kind of asset returned",
                          "properties": {
                            "animationFrameCount": {
                              "description": "Number of animation frames if animations exist",
                              "type": "number"
                            },
                            "bitrate": {
                              "description": "Bitrate of the media in bits per second",
                              "type": "number"
                            },
                            "boneCount": {
                              "description": "Number of bones if skeleton exists",
                              "type": "number"
                            },
                            "cameraMode": {
                              "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "enum": [
                                "aerial",
                                "interior",
                                "turntable"
                              ],
                              "type": "string"
                            },
                            "cameraTrajectory": {
                              "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "items": {
                                "additionalProperties": false,
                                "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                "properties": {
                                  "fov": {
                                    "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                    "type": "number"
                                  },
                                  "position": {
                                    "description": "Camera eye position in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "target": {
                                    "description": "Look-at point in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "position",
                                  "target"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "channels": {
                              "description": "Number of channels of the audio",
                              "type": "number"
                            },
                            "charCount": {
                              "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                              "type": "number"
                            },
                            "classification": {
                              "description": "Classification of the audio",
                              "enum": [
                                "effect",
                                "interview",
                                "music",
                                "other",
                                "sound",
                                "speech",
                                "text",
                                "unknown"
                              ],
                              "type": "string"
                            },
                            "codecName": {
                              "description": "Codec name of the media",
                              "type": "string"
                            },
                            "description": {
                              "description": "Description of the audio",
                              "type": "string"
                            },
                            "dimensions": {
                              "description": "Bounding box dimensions [width, height, depth]",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "duration": {
                              "description": "Duration of the media in seconds",
                              "type": "number"
                            },
                            "faceCount": {
                              "description": "Number of faces/triangles in the mesh",
                              "type": "number"
                            },
                            "format": {
                              "description": "Format of the mesh file (e.g. 'glb', etc.)",
                              "type": "string"
                            },
                            "frameRate": {
                              "description": "Frame rate of the video in frames per second",
                              "type": "number"
                            },
                            "hasAnimations": {
                              "description": "Whether the mesh has animations",
                              "type": "boolean"
                            },
                            "hasFullPreview": {
                              "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                              "type": "boolean"
                            },
                            "hasNormals": {
                              "description": "Whether the mesh has normal vectors",
                              "type": "boolean"
                            },
                            "hasSkeleton": {
                              "description": "Whether the mesh has bones/skeleton",
                              "type": "boolean"
                            },
                            "hasUVs": {
                              "description": "Whether the mesh has UV coordinates",
                              "type": "boolean"
                            },
                            "height": {
                              "type": "number"
                            },
                            "nbFrames": {
                              "description": "Number of frames in the video",
                              "type": "number"
                            },
                            "preview": {
                              "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                              "type": "string"
                            },
                            "sampleRate": {
                              "description": "Sample rate of the media in Hz",
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "transcription": {
                              "additionalProperties": false,
                              "description": "Transcription of the audio",
                              "properties": {
                                "text": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text"
                              ],
                              "type": "object"
                            },
                            "vertexCount": {
                              "description": "Number of vertices in the mesh",
                              "type": "number"
                            },
                            "width": {
                              "type": "number"
                            },
                            "wordCount": {
                              "description": "Number of whitespace-separated words in the text",
                              "type": "number"
                            }
                          },
                          "required": [
                            "size"
                          ],
                          "type": "object"
                        },
                        "qualityGate": {
                          "additionalProperties": false,
                          "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                          "properties": {
                            "aiQualityScore": {
                              "description": "Generic AI-quality sub-score",
                              "type": "number"
                            },
                            "appliedBriefIds": {
                              "description": "Ids of briefs that contributed",
                              "items": {
                                "description": "Opaque identifier for a brief, derived from its scope.",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "briefComplianceScore": {
                              "description": "Brief-compliance sub-score (omitted when no brief applied)",
                              "type": "number"
                            },
                            "computedAt": {
                              "description": "ISO-8601 timestamp of when scoring ran",
                              "type": "string"
                            },
                            "details": {
                              "additionalProperties": false,
                              "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                              "properties": {
                                "aiQuality": {
                                  "additionalProperties": false,
                                  "description": "Always-on generic AI-quality dimension",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                },
                                "briefCompliance": {
                                  "additionalProperties": false,
                                  "description": "Brief-compliance dimension; omitted when no brief applied",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                }
                              },
                              "required": [
                                "aiQuality"
                              ],
                              "type": "object"
                            },
                            "error": {
                              "description": "Error message when status is 'error' (truncated)",
                              "type": "string"
                            },
                            "overallScore": {
                              "description": "0–100 composite score (present when status is 'scored')",
                              "type": "number"
                            },
                            "sensitivity": {
                              "description": "Sensitivity used for the verdict",
                              "enum": [
                                "high",
                                "low",
                                "medium"
                              ],
                              "type": "string"
                            },
                            "status": {
                              "description": "Whether scoring succeeded or errored",
                              "enum": [
                                "error",
                                "scored"
                              ],
                              "type": "string"
                            },
                            "verdict": {
                              "description": "pass / warn / fail (present when status is 'scored')",
                              "enum": [
                                "fail",
                                "pass",
                                "warn"
                              ],
                              "type": "string"
                            },
                            "version": {
                              "description": "Rubric/model version that produced this result",
                              "type": "string"
                            }
                          },
                          "required": [
                            "computedAt",
                            "status",
                            "version"
                          ],
                          "type": "object"
                        },
                        "source": {
                          "description": "source of the asset",
                          "enum": [
                            "3d23d",
                            "3d23d:texture",
                            "3d:texture",
                            "3d:texture:albedo",
                            "3d:texture:metallic",
                            "3d:texture:mtl",
                            "3d:texture:normal",
                            "3d:texture:roughness",
                            "audio2audio",
                            "audio2txt",
                            "audio2video",
                            "background-removal",
                            "canvas",
                            "canvas-drawing",
                            "canvas-export",
                            "detection",
                            "generative-fill",
                            "image-prompt-editing",
                            "img23d",
                            "img2img",
                            "img2splat",
                            "img2txt",
                            "img2video",
                            "inference-control-net",
                            "inference-control-net-img",
                            "inference-control-net-inpainting",
                            "inference-control-net-inpainting-ip-adapter",
                            "inference-control-net-ip-adapter",
                            "inference-control-net-reference",
                            "inference-control-net-texture",
                            "inference-img",
                            "inference-img-ip-adapter",
                            "inference-img-texture",
                            "inference-in-paint",
                            "inference-in-paint-ip-adapter",
                            "inference-reference",
                            "inference-reference-texture",
                            "inference-txt",
                            "inference-txt-ip-adapter",
                            "inference-txt-texture",
                            "patch",
                            "pixelization",
                            "reframe",
                            "restyle",
                            "segment",
                            "segmentation-image",
                            "segmentation-mask",
                            "skybox-3d",
                            "skybox-base-360",
                            "skybox-hdri",
                            "texture",
                            "texture:albedo",
                            "texture:ao",
                            "texture:edge",
                            "texture:height",
                            "texture:metallic",
                            "texture:normal",
                            "texture:smoothness",
                            "txt23d",
                            "txt2audio",
                            "txt2img",
                            "txt2txt",
                            "txt2video",
                            "unknown",
                            "uploaded",
                            "uploaded-3d",
                            "uploaded-audio",
                            "uploaded-avatar",
                            "uploaded-text",
                            "uploaded-video",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "upscale-video",
                            "vectorization",
                            "video23d",
                            "video2audio",
                            "video2img",
                            "video2txt",
                            "video2video",
                            "voice-clone"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The actual status",
                          "enum": [
                            "error",
                            "pending",
                            "success"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "url": {
                          "description": "Signed URL to get the asset content",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "collectionIds",
                        "createdAt",
                        "editCapabilities",
                        "id",
                        "kind",
                        "metadata",
                        "mimeType",
                        "ownerId",
                        "privacy",
                        "properties",
                        "source",
                        "status",
                        "tags",
                        "updatedAt",
                        "url"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "backgroundColor": {
                    "description": "The background color as an hexadecimal code (ex: \"#FFFFFF\"), an html color (ex: \"red\") or \"transparent\" if \"format\" is \"png\"",
                    "type": "string"
                  },
                  "format": {
                    "default": "png",
                    "description": "The output format. Default is 'png'",
                    "enum": [
                      "jpeg",
                      "png"
                    ],
                    "type": "string"
                  },
                  "image": {
                    "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\"). If provided, image and name will be ignored.",
                    "type": "string"
                  }
                },
                "required": [
                  "image"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/vectorize": {
      "post": {
        "operationId": "PostVectorizeInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nAdvanced vectorization of an image.\n\n**Note**: Please use `POST /generate/custom/{modelId}` endpoint instead. You can retrieve the model inputs from the `GET /models/{modelId}` endpoint. Please use `model_visioncortex-vtracer` `modelId` for example. See https://docs.scenario.com/get-started/generation/vectorization-models for more details.",
        "tags": [
          "Generate: Image Editing"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "asset": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "automaticCaptioning": {
                          "description": "Automatic captioning of the asset",
                          "type": "string"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this asset belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                          "type": "string"
                        },
                        "description": {
                          "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                          "type": "string"
                        },
                        "editCapabilities": {
                          "description": "List of edit capabilities",
                          "items": {
                            "enum": [
                              "DETECTION",
                              "GENERATIVE_FILL",
                              "PIXELATE",
                              "PROMPT_EDITING",
                              "REFINE",
                              "REFRAME",
                              "REMOVE_BACKGROUND",
                              "SEGMENTATION",
                              "UPSCALE",
                              "UPSCALE_360",
                              "VECTORIZATION"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "embedding": {
                          "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                          "items": {
                            "type": "number"
                          },
                          "type": "array"
                        },
                        "firstFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "id": {
                          "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "isHidden": {
                          "description": "Whether the asset is hidden.",
                          "type": "boolean"
                        },
                        "kind": {
                          "description": "The kind of asset",
                          "enum": [
                            "3d",
                            "audio",
                            "document",
                            "image",
                            "image-hdr",
                            "json",
                            "text",
                            "video"
                          ],
                          "type": "string"
                        },
                        "lastFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the asset with some additional information",
                          "properties": {
                            "angular": {
                              "default": 0.5,
                              "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "aspectRatio": {
                              "description": "The optional aspect ratio given for the generation, only applicable for some models",
                              "type": "string"
                            },
                            "backgroundOpacity": {
                              "default": 0,
                              "maximum": 255,
                              "minimum": 0,
                              "type": "number"
                            },
                            "baseModelId": {
                              "description": "The baseModelId that maybe changed at inference time",
                              "type": "string"
                            },
                            "bbox": {
                              "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 4,
                              "minItems": 4,
                              "type": "array"
                            },
                            "betterQuality": {
                              "default": false,
                              "type": "boolean"
                            },
                            "cannyStructureImage": {
                              "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "clustering": {
                              "default": false,
                              "description": "Activate clustering.",
                              "type": "boolean"
                            },
                            "colorCorrection": {
                              "default": true,
                              "description": "Ensure upscaled tile have the same color histogram as original tile.",
                              "type": "boolean"
                            },
                            "colorMode": {
                              "type": "string"
                            },
                            "colorPrecision": {
                              "type": "number"
                            },
                            "concepts": {
                              "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "modelEpoch": {
                                    "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                    "type": "string"
                                  },
                                  "scale": {
                                    "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                    "maximum": 2,
                                    "minimum": -2,
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "modelId",
                                  "scale"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "contours": {
                              "items": {
                                "items": {
                                  "items": {
                                    "items": {
                                      "type": "number"
                                    },
                                    "type": "array"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "type": "array"
                            },
                            "controlEnd": {
                              "description": "End step for control.",
                              "type": "number"
                            },
                            "copiedAt": {
                              "description": "The date when the asset was copied to a project",
                              "type": "string"
                            },
                            "cornerThreshold": {
                              "type": "number"
                            },
                            "creativity": {
                              "default": 35,
                              "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "creativityDecay": {
                              "default": 80,
                              "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "defaultParameters": {
                              "default": false,
                              "description": "If true, use the default parameters",
                              "type": "boolean"
                            },
                            "depthFidelity": {
                              "default": 90,
                              "description": "The depth fidelity if a depth image provided",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "depthImage": {
                              "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "detailsLevel": {
                              "default": 0,
                              "description": "Amount of details to remove or add",
                              "maximum": 50,
                              "minimum": -50,
                              "type": "number"
                            },
                            "dilate": {
                              "default": 0,
                              "maximum": 30,
                              "minimum": 0,
                              "type": "number"
                            },
                            "factor": {
                              "default": 5,
                              "description": "Contrast factor for Grayscale detector",
                              "type": "number"
                            },
                            "fileName": {
                              "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                              "type": "string"
                            },
                            "filterSpeckle": {
                              "type": "number"
                            },
                            "fractality": {
                              "default": 40,
                              "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "geometryEnforcement": {
                              "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "guidance": {
                              "description": "The guidance used to generate this asset",
                              "type": "number"
                            },
                            "halfMode": {
                              "type": "boolean"
                            },
                            "hdr": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            },
                            "highThreshold": {
                              "default": 200,
                              "description": "High threshold for Canny detector",
                              "type": "number"
                            },
                            "horizontalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Horizontal expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "image": {
                              "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                              "type": "string"
                            },
                            "imageFidelity": {
                              "default": 50,
                              "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "imageType": {
                              "default": "seamfull",
                              "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                              "enum": [
                                "seamfull",
                                "skybox",
                                "texture"
                              ],
                              "type": "string"
                            },
                            "inferenceId": {
                              "description": "The id of the Inference describing how this image was generated",
                              "type": "string"
                            },
                            "inputFidelity": {
                              "default": "low",
                              "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                              "enum": [
                                "high",
                                "low"
                              ],
                              "type": "string"
                            },
                            "inputLocation": {
                              "default": "middle",
                              "description": "Location of the input image in the output.",
                              "enum": [
                                "bottom",
                                "left",
                                "middle",
                                "right",
                                "top"
                              ],
                              "type": "string"
                            },
                            "invert": {
                              "default": false,
                              "description": "To invert the relief",
                              "type": "boolean"
                            },
                            "keepsFileNames": {
                              "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                              "type": "boolean"
                            },
                            "keypointThreshold": {
                              "default": 0.3,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "kind": {
                              "enum": [
                                "3d",
                                "audio",
                                "document",
                                "image",
                                "image-hdr",
                                "json",
                                "text",
                                "video"
                              ],
                              "type": "string"
                            },
                            "layerDifference": {
                              "type": "number"
                            },
                            "lengthThreshold": {
                              "type": "number"
                            },
                            "lockExpiresAt": {
                              "description": "The ISO timestamp when the lock on the canvas will expire",
                              "type": "string"
                            },
                            "lowThreshold": {
                              "default": 100,
                              "description": "Low threshold for Canny detector",
                              "type": "number"
                            },
                            "mask": {
                              "description": "The mask used for the asset generation or editing",
                              "type": "string"
                            },
                            "maxIterations": {
                              "type": "number"
                            },
                            "maxThreshold": {
                              "default": 90,
                              "description": "Maximum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "minThreshold": {
                              "default": 10,
                              "description": "Minimum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "modality": {
                              "default": "canny",
                              "description": "Modality to detect",
                              "enum": [
                                "canny",
                                "depth",
                                "grayscale",
                                "lineart_anime",
                                "mlsd",
                                "normal",
                                "pose",
                                "scribble",
                                "segmentation",
                                "sketch"
                              ],
                              "type": "string"
                            },
                            "mode": {
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The modelId used to generate this asset",
                              "type": "string"
                            },
                            "modelType": {
                              "description": "The type of the generator used",
                              "enum": [
                                "custom",
                                "elevenlabs-voice",
                                "flux.1",
                                "flux.1-composition",
                                "flux.1-kontext-dev",
                                "flux.1-kontext-lora",
                                "flux.1-krea-dev",
                                "flux.1-krea-lora",
                                "flux.1-lora",
                                "flux.1-pro",
                                "flux.1.1-pro-ultra",
                                "flux.2-dev-edit-lora",
                                "flux.2-dev-lora",
                                "flux.2-klein-4b-edit-lora",
                                "flux.2-klein-4b-lora",
                                "flux.2-klein-9b-edit-lora",
                                "flux.2-klein-9b-lora",
                                "flux.2-klein-base-4b-edit-lora",
                                "flux.2-klein-base-4b-lora",
                                "flux.2-klein-base-9b-edit-lora",
                                "flux.2-klein-base-9b-lora",
                                "flux1.1-pro",
                                "gpt-image-1",
                                "qwen-image-2512-lora",
                                "qwen-image-edit-2509-lora",
                                "qwen-image-edit-2511-lora",
                                "qwen-image-edit-lora",
                                "qwen-image-lora",
                                "zimage-de-turbo-lora",
                                "zimage-lora",
                                "zimage-turbo-lora"
                              ],
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "nbMasks": {
                              "type": "number"
                            },
                            "negativePrompt": {
                              "description": "The negative prompt used to generate this asset",
                              "type": "string"
                            },
                            "negativePromptStrength": {
                              "default": 0,
                              "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                              "maximum": 10,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numInferenceSteps": {
                              "default": 10,
                              "description": "The number of denoising steps for each image generation.",
                              "maximum": 50,
                              "minimum": 5,
                              "type": "number"
                            },
                            "numOutputs": {
                              "default": 4,
                              "description": "The number of outputs to generate.",
                              "maximum": 8,
                              "minimum": 1,
                              "type": "number"
                            },
                            "originalAssetId": {
                              "type": "string"
                            },
                            "outputIndex": {
                              "type": "number"
                            },
                            "overlapPercentage": {
                              "default": 0.08,
                              "description": "Overlap percentage for the output image.",
                              "maximum": 0.5,
                              "minimum": 0,
                              "type": "number"
                            },
                            "overrideEmbeddings": {
                              "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                              "type": "boolean"
                            },
                            "parentId": {
                              "type": "string"
                            },
                            "parentJobId": {
                              "type": "string"
                            },
                            "pathPrecision": {
                              "type": "number"
                            },
                            "points": {
                              "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                              "items": {
                                "items": {
                                  "type": "number"
                                },
                                "type": "array"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "polished": {
                              "default": 0.5,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "preset": {
                              "type": "string"
                            },
                            "progressPercent": {
                              "type": "number"
                            },
                            "prompt": {
                              "description": "The prompt that guided the asset generation or editing",
                              "type": "string"
                            },
                            "promptFidelity": {
                              "default": 50,
                              "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "raised": {
                              "default": 0.5,
                              "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "referenceImages": {
                              "description": "The reference images used for the asset generation or editing",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "refinementSteps": {
                              "default": 0,
                              "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                              "maximum": 4,
                              "minimum": 0,
                              "type": "number"
                            },
                            "removeBackground": {
                              "default": true,
                              "description": "Remove background for Grayscale detector",
                              "type": "boolean"
                            },
                            "resizeOption": {
                              "default": 1,
                              "description": "Size proportion of the input image in the output.",
                              "maximum": 1,
                              "minimum": 0.1,
                              "type": "number"
                            },
                            "resultContours": {
                              "default": false,
                              "description": "Boolean to output the contours.",
                              "type": "boolean"
                            },
                            "resultImage": {
                              "default": false,
                              "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                              "type": "boolean"
                            },
                            "resultMask": {
                              "default": true,
                              "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                              "type": "boolean"
                            },
                            "rootParentId": {
                              "type": "string"
                            },
                            "saveFlipbook": {
                              "default": true,
                              "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                              "type": "boolean"
                            },
                            "scalingFactor": {
                              "default": 2,
                              "description": "Scaling factor (when `targetWidth` not specified)",
                              "maximum": 16,
                              "minimum": 1,
                              "type": "number"
                            },
                            "scheduler": {
                              "description": "The scheduler used to generate this asset",
                              "type": "string"
                            },
                            "seed": {
                              "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                              "type": "string"
                            },
                            "sharpen": {
                              "default": false,
                              "description": "Sharpen tiles.",
                              "type": "boolean"
                            },
                            "shiny": {
                              "default": 0.5,
                              "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "sketch": {
                              "default": false,
                              "description": "Activate sketch detection instead of canny.",
                              "type": "boolean"
                            },
                            "sourceProjectId": {
                              "type": "string"
                            },
                            "spliceThreshold": {
                              "type": "number"
                            },
                            "strength": {
                              "default": 1,
                              "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                              "type": "number"
                            },
                            "structureFidelity": {
                              "default": 35,
                              "description": "Strength for the input image structure preservation",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "structureImage": {
                              "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "style": {
                              "enum": [
                                "3d-cartoon",
                                "3d-rendered",
                                "anime",
                                "cartoon",
                                "cinematic",
                                "claymation",
                                "cloud-skydome",
                                "comic",
                                "cyberpunk",
                                "enchanted",
                                "fantasy",
                                "ink",
                                "manga",
                                "manga-color",
                                "minimalist",
                                "neon-tron",
                                "oil-painting",
                                "pastel",
                                "photo",
                                "photography",
                                "psychedelic",
                                "retro-fantasy",
                                "scifi-concept-art",
                                "space",
                                "standard",
                                "whimsical"
                              ],
                              "type": "string"
                            },
                            "styleFidelity": {
                              "default": 20,
                              "description": "The higher the value the more it will look like the style image(s)",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "styleImages": {
                              "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                              "items": {
                                "type": "string"
                              },
                              "maxItems": 10,
                              "type": "array"
                            },
                            "styleImagesFidelity": {
                              "default": 17,
                              "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetHeight": {
                              "default": 1024,
                              "description": "The target height of the output image.",
                              "maximum": 2048,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetWidth": {
                              "description": "Target width for the upscaled image, take priority over scaling factor",
                              "maximum": 16000,
                              "minimum": 1024,
                              "type": "number"
                            },
                            "text": {
                              "description": "A textual description / keywords describing the object of interest.",
                              "maxLength": 100,
                              "type": "string"
                            },
                            "texture": {
                              "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "thumbnail": {
                              "additionalProperties": false,
                              "description": "The thumbnail of the canvas",
                              "properties": {
                                "assetId": {
                                  "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                  "type": "string"
                                },
                                "url": {
                                  "description": "The url of the image used as a thumbnail for the canvas",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "assetId",
                                "url"
                              ],
                              "type": "object"
                            },
                            "tileStyle": {
                              "default": false,
                              "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                              "type": "boolean"
                            },
                            "trainingImage": {
                              "type": "boolean"
                            },
                            "type": {
                              "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                              "enum": [
                                "3d-texture",
                                "3d-texture-albedo",
                                "3d-texture-metallic",
                                "3d-texture-mtl",
                                "3d-texture-normal",
                                "3d-texture-roughness",
                                "3d23d",
                                "3d23d-texture",
                                "audio2audio",
                                "audio2txt",
                                "audio2video",
                                "background-removal",
                                "canvas",
                                "canvas-drawing",
                                "canvas-export",
                                "detection",
                                "generative-fill",
                                "image-prompt-editing",
                                "img23d",
                                "img2img",
                                "img2splat",
                                "img2txt",
                                "img2video",
                                "inference-controlnet",
                                "inference-controlnet-img2img",
                                "inference-controlnet-inpaint",
                                "inference-controlnet-inpaint-ip-adapter",
                                "inference-controlnet-ip-adapter",
                                "inference-controlnet-reference",
                                "inference-controlnet-texture",
                                "inference-img2img",
                                "inference-img2img-ip-adapter",
                                "inference-img2img-texture",
                                "inference-inpaint",
                                "inference-inpaint-ip-adapter",
                                "inference-reference",
                                "inference-reference-texture",
                                "inference-txt2img",
                                "inference-txt2img-ip-adapter",
                                "inference-txt2img-texture",
                                "patch",
                                "pixelization",
                                "reframe",
                                "restyle",
                                "segment",
                                "segmentation-image",
                                "segmentation-mask",
                                "skybox-3d",
                                "skybox-base-360",
                                "skybox-hdri",
                                "texture",
                                "texture-albedo",
                                "texture-ao",
                                "texture-edge",
                                "texture-height",
                                "texture-metallic",
                                "texture-normal",
                                "texture-smoothness",
                                "txt23d",
                                "txt2audio",
                                "txt2img",
                                "txt2txt",
                                "txt2video",
                                "unknown",
                                "uploaded",
                                "uploaded-3d",
                                "uploaded-audio",
                                "uploaded-avatar",
                                "uploaded-text",
                                "uploaded-video",
                                "upscale",
                                "upscale-skybox",
                                "upscale-texture",
                                "upscale-video",
                                "vectorization",
                                "video23d",
                                "video2audio",
                                "video2img",
                                "video2txt",
                                "video2video",
                                "voice-clone"
                              ],
                              "type": "string"
                            },
                            "verticalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Vertical expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "width": {
                              "default": 1536,
                              "description": "The width of the rendered image.",
                              "maximum": 2048,
                              "minimum": 1024,
                              "type": "number"
                            }
                          },
                          "required": [
                            "kind",
                            "type"
                          ],
                          "type": "object"
                        },
                        "mimeType": {
                          "description": "The mime type of the asset (example: \"image/png\")",
                          "type": "string"
                        },
                        "nsfw": {
                          "description": "The NSFW labels",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "originalFileUrl": {
                          "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                          "type": "string"
                        },
                        "originalMimeType": {
                          "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                          "enum": [
                            "application/gzip",
                            "application/json",
                            "application/octet-stream",
                            "application/pdf",
                            "application/safetensors",
                            "application/vnd.autodesk.fbx",
                            "application/x-authorware-bin",
                            "application/x-zip-compressed",
                            "application/x.autodesk.fbx",
                            "application/zip",
                            "audio/flac",
                            "audio/m4a",
                            "audio/mpeg",
                            "audio/ogg",
                            "audio/wav",
                            "image/aces",
                            "image/avif",
                            "image/bmp",
                            "image/gif",
                            "image/heic",
                            "image/jpeg",
                            "image/png",
                            "image/svg+xml",
                            "image/tiff",
                            "image/vnd.radiance",
                            "image/webp",
                            "image/x-exr",
                            "model/glb",
                            "model/gltf+json",
                            "model/gltf-binary",
                            "model/ksplat",
                            "model/mtl",
                            "model/obj",
                            "model/ply",
                            "model/sog",
                            "model/splat",
                            "model/spz",
                            "model/stl",
                            "model/vnd.collada+xml",
                            "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                            "model/vnd.usdz+zip",
                            "model/x-3d-vox",
                            "model/x-blender",
                            "model/x-fbx",
                            "model/x-maya-ascii",
                            "model/x-maya-binary",
                            "model/x-vsplat",
                            "model/x3d+xml",
                            "text/plain",
                            "video/mp4",
                            "video/quicktime",
                            "video/webm"
                          ],
                          "type": "string"
                        },
                        "outputIndex": {
                          "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                          "type": "number"
                        },
                        "ownerId": {
                          "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                          "type": "string"
                        },
                        "preview": {
                          "additionalProperties": false,
                          "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "description": "The privacy of the asset",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "properties": {
                          "additionalProperties": false,
                          "description": "The properties of the asset, content may depend on the kind of asset returned",
                          "properties": {
                            "animationFrameCount": {
                              "description": "Number of animation frames if animations exist",
                              "type": "number"
                            },
                            "bitrate": {
                              "description": "Bitrate of the media in bits per second",
                              "type": "number"
                            },
                            "boneCount": {
                              "description": "Number of bones if skeleton exists",
                              "type": "number"
                            },
                            "cameraMode": {
                              "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "enum": [
                                "aerial",
                                "interior",
                                "turntable"
                              ],
                              "type": "string"
                            },
                            "cameraTrajectory": {
                              "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "items": {
                                "additionalProperties": false,
                                "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                "properties": {
                                  "fov": {
                                    "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                    "type": "number"
                                  },
                                  "position": {
                                    "description": "Camera eye position in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "target": {
                                    "description": "Look-at point in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "position",
                                  "target"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "channels": {
                              "description": "Number of channels of the audio",
                              "type": "number"
                            },
                            "charCount": {
                              "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                              "type": "number"
                            },
                            "classification": {
                              "description": "Classification of the audio",
                              "enum": [
                                "effect",
                                "interview",
                                "music",
                                "other",
                                "sound",
                                "speech",
                                "text",
                                "unknown"
                              ],
                              "type": "string"
                            },
                            "codecName": {
                              "description": "Codec name of the media",
                              "type": "string"
                            },
                            "description": {
                              "description": "Description of the audio",
                              "type": "string"
                            },
                            "dimensions": {
                              "description": "Bounding box dimensions [width, height, depth]",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "duration": {
                              "description": "Duration of the media in seconds",
                              "type": "number"
                            },
                            "faceCount": {
                              "description": "Number of faces/triangles in the mesh",
                              "type": "number"
                            },
                            "format": {
                              "description": "Format of the mesh file (e.g. 'glb', etc.)",
                              "type": "string"
                            },
                            "frameRate": {
                              "description": "Frame rate of the video in frames per second",
                              "type": "number"
                            },
                            "hasAnimations": {
                              "description": "Whether the mesh has animations",
                              "type": "boolean"
                            },
                            "hasFullPreview": {
                              "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                              "type": "boolean"
                            },
                            "hasNormals": {
                              "description": "Whether the mesh has normal vectors",
                              "type": "boolean"
                            },
                            "hasSkeleton": {
                              "description": "Whether the mesh has bones/skeleton",
                              "type": "boolean"
                            },
                            "hasUVs": {
                              "description": "Whether the mesh has UV coordinates",
                              "type": "boolean"
                            },
                            "height": {
                              "type": "number"
                            },
                            "nbFrames": {
                              "description": "Number of frames in the video",
                              "type": "number"
                            },
                            "preview": {
                              "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                              "type": "string"
                            },
                            "sampleRate": {
                              "description": "Sample rate of the media in Hz",
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "transcription": {
                              "additionalProperties": false,
                              "description": "Transcription of the audio",
                              "properties": {
                                "text": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text"
                              ],
                              "type": "object"
                            },
                            "vertexCount": {
                              "description": "Number of vertices in the mesh",
                              "type": "number"
                            },
                            "width": {
                              "type": "number"
                            },
                            "wordCount": {
                              "description": "Number of whitespace-separated words in the text",
                              "type": "number"
                            }
                          },
                          "required": [
                            "size"
                          ],
                          "type": "object"
                        },
                        "qualityGate": {
                          "additionalProperties": false,
                          "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                          "properties": {
                            "aiQualityScore": {
                              "description": "Generic AI-quality sub-score",
                              "type": "number"
                            },
                            "appliedBriefIds": {
                              "description": "Ids of briefs that contributed",
                              "items": {
                                "description": "Opaque identifier for a brief, derived from its scope.",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "briefComplianceScore": {
                              "description": "Brief-compliance sub-score (omitted when no brief applied)",
                              "type": "number"
                            },
                            "computedAt": {
                              "description": "ISO-8601 timestamp of when scoring ran",
                              "type": "string"
                            },
                            "details": {
                              "additionalProperties": false,
                              "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                              "properties": {
                                "aiQuality": {
                                  "additionalProperties": false,
                                  "description": "Always-on generic AI-quality dimension",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                },
                                "briefCompliance": {
                                  "additionalProperties": false,
                                  "description": "Brief-compliance dimension; omitted when no brief applied",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                }
                              },
                              "required": [
                                "aiQuality"
                              ],
                              "type": "object"
                            },
                            "error": {
                              "description": "Error message when status is 'error' (truncated)",
                              "type": "string"
                            },
                            "overallScore": {
                              "description": "0–100 composite score (present when status is 'scored')",
                              "type": "number"
                            },
                            "sensitivity": {
                              "description": "Sensitivity used for the verdict",
                              "enum": [
                                "high",
                                "low",
                                "medium"
                              ],
                              "type": "string"
                            },
                            "status": {
                              "description": "Whether scoring succeeded or errored",
                              "enum": [
                                "error",
                                "scored"
                              ],
                              "type": "string"
                            },
                            "verdict": {
                              "description": "pass / warn / fail (present when status is 'scored')",
                              "enum": [
                                "fail",
                                "pass",
                                "warn"
                              ],
                              "type": "string"
                            },
                            "version": {
                              "description": "Rubric/model version that produced this result",
                              "type": "string"
                            }
                          },
                          "required": [
                            "computedAt",
                            "status",
                            "version"
                          ],
                          "type": "object"
                        },
                        "source": {
                          "description": "source of the asset",
                          "enum": [
                            "3d23d",
                            "3d23d:texture",
                            "3d:texture",
                            "3d:texture:albedo",
                            "3d:texture:metallic",
                            "3d:texture:mtl",
                            "3d:texture:normal",
                            "3d:texture:roughness",
                            "audio2audio",
                            "audio2txt",
                            "audio2video",
                            "background-removal",
                            "canvas",
                            "canvas-drawing",
                            "canvas-export",
                            "detection",
                            "generative-fill",
                            "image-prompt-editing",
                            "img23d",
                            "img2img",
                            "img2splat",
                            "img2txt",
                            "img2video",
                            "inference-control-net",
                            "inference-control-net-img",
                            "inference-control-net-inpainting",
                            "inference-control-net-inpainting-ip-adapter",
                            "inference-control-net-ip-adapter",
                            "inference-control-net-reference",
                            "inference-control-net-texture",
                            "inference-img",
                            "inference-img-ip-adapter",
                            "inference-img-texture",
                            "inference-in-paint",
                            "inference-in-paint-ip-adapter",
                            "inference-reference",
                            "inference-reference-texture",
                            "inference-txt",
                            "inference-txt-ip-adapter",
                            "inference-txt-texture",
                            "patch",
                            "pixelization",
                            "reframe",
                            "restyle",
                            "segment",
                            "segmentation-image",
                            "segmentation-mask",
                            "skybox-3d",
                            "skybox-base-360",
                            "skybox-hdri",
                            "texture",
                            "texture:albedo",
                            "texture:ao",
                            "texture:edge",
                            "texture:height",
                            "texture:metallic",
                            "texture:normal",
                            "texture:smoothness",
                            "txt23d",
                            "txt2audio",
                            "txt2img",
                            "txt2txt",
                            "txt2video",
                            "unknown",
                            "uploaded",
                            "uploaded-3d",
                            "uploaded-audio",
                            "uploaded-avatar",
                            "uploaded-text",
                            "uploaded-video",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "upscale-video",
                            "vectorization",
                            "video23d",
                            "video2audio",
                            "video2img",
                            "video2txt",
                            "video2video",
                            "voice-clone"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The actual status",
                          "enum": [
                            "error",
                            "pending",
                            "success"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "url": {
                          "description": "Signed URL to get the asset content",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "collectionIds",
                        "createdAt",
                        "editCapabilities",
                        "id",
                        "kind",
                        "metadata",
                        "mimeType",
                        "ownerId",
                        "privacy",
                        "properties",
                        "source",
                        "status",
                        "tags",
                        "updatedAt",
                        "url"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "colorMode": {
                    "default": "color",
                    "description": "Color mode `bw`, `color`. If `bw`, the image will be considered as black and white.",
                    "enum": [
                      "bw",
                      "color"
                    ],
                    "type": "string"
                  },
                  "colorPrecision": {
                    "default": 6,
                    "description": "Number of significant bits to use in an RGB channel, min 1, max 16 (higher value will increase precision)\n\nOnly applicable to `color` colorMode.",
                    "maximum": 16,
                    "minimum": 1,
                    "type": "number"
                  },
                  "cornerThreshold": {
                    "default": 60,
                    "description": "Minimum momentary angle (degree) to be considered a corner (higher value will smooth corners)\n\nOnly applicable to `spline` mode.",
                    "maximum": 180,
                    "minimum": 0,
                    "type": "number"
                  },
                  "filterSpeckle": {
                    "default": 4,
                    "description": "Discard patches smaller than X px in size (higher value will reduce the number of patches, cleaner output)",
                    "maximum": 128,
                    "minimum": 0,
                    "type": "number"
                  },
                  "image": {
                    "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\") to vectorize.",
                    "type": "string"
                  },
                  "layerDifference": {
                    "default": 16,
                    "description": "Represents the color difference between gradient layers (higher value will reduce the number of layers)\n\nOnly applicable to `color` colorMode.",
                    "maximum": 255,
                    "minimum": 0,
                    "type": "number"
                  },
                  "lengthThreshold": {
                    "default": 4,
                    "description": "Minimum length of a segment (higher value will generate more coarse output)\n\nOnly applicable to `spline` mode.",
                    "maximum": 10,
                    "minimum": 3.5,
                    "type": "number"
                  },
                  "maxIterations": {
                    "default": 1,
                    "description": "Max iterations for rendering",
                    "maximum": 100000,
                    "minimum": 1,
                    "type": "number"
                  },
                  "mode": {
                    "default": "spline",
                    "description": "Curver fitting mode `none`, `polygon`, `spline`",
                    "enum": [
                      "none",
                      "polygon",
                      "spline"
                    ],
                    "type": "string"
                  },
                  "pathPrecision": {
                    "default": 8,
                    "description": "Number of decimal places to use in path string",
                    "minimum": 0,
                    "type": "number"
                  },
                  "preset": {
                    "default": "custom",
                    "description": "If preset given, all other parameters will be ignored (mode, colorMode, filterSpeckle, ...), except for custom.",
                    "enum": [
                      "asset",
                      "bw",
                      "custom",
                      "photo",
                      "pixelart",
                      "poster"
                    ],
                    "type": "string"
                  },
                  "spliceThreshold": {
                    "default": 45,
                    "description": "Minimum angle displacement (degree) to splice a spline (higher value reduce accuracy)\n\nOnly applicable to `spline` mode.",
                    "maximum": 180,
                    "minimum": 0,
                    "type": "number"
                  }
                },
                "required": [
                  "image"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/patch": {
      "post": {
        "operationId": "PostPatchInferences",
        "description": "Patch an asset with an image.",
        "tags": [
          "Generate: Image Editing"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "asset": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "automaticCaptioning": {
                          "description": "Automatic captioning of the asset",
                          "type": "string"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this asset belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                          "type": "string"
                        },
                        "description": {
                          "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                          "type": "string"
                        },
                        "editCapabilities": {
                          "description": "List of edit capabilities",
                          "items": {
                            "enum": [
                              "DETECTION",
                              "GENERATIVE_FILL",
                              "PIXELATE",
                              "PROMPT_EDITING",
                              "REFINE",
                              "REFRAME",
                              "REMOVE_BACKGROUND",
                              "SEGMENTATION",
                              "UPSCALE",
                              "UPSCALE_360",
                              "VECTORIZATION"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "embedding": {
                          "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                          "items": {
                            "type": "number"
                          },
                          "type": "array"
                        },
                        "firstFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "id": {
                          "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "isHidden": {
                          "description": "Whether the asset is hidden.",
                          "type": "boolean"
                        },
                        "kind": {
                          "description": "The kind of asset",
                          "enum": [
                            "3d",
                            "audio",
                            "document",
                            "image",
                            "image-hdr",
                            "json",
                            "text",
                            "video"
                          ],
                          "type": "string"
                        },
                        "lastFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the asset with some additional information",
                          "properties": {
                            "angular": {
                              "default": 0.5,
                              "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "aspectRatio": {
                              "description": "The optional aspect ratio given for the generation, only applicable for some models",
                              "type": "string"
                            },
                            "backgroundOpacity": {
                              "default": 0,
                              "maximum": 255,
                              "minimum": 0,
                              "type": "number"
                            },
                            "baseModelId": {
                              "description": "The baseModelId that maybe changed at inference time",
                              "type": "string"
                            },
                            "bbox": {
                              "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 4,
                              "minItems": 4,
                              "type": "array"
                            },
                            "betterQuality": {
                              "default": false,
                              "type": "boolean"
                            },
                            "cannyStructureImage": {
                              "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "clustering": {
                              "default": false,
                              "description": "Activate clustering.",
                              "type": "boolean"
                            },
                            "colorCorrection": {
                              "default": true,
                              "description": "Ensure upscaled tile have the same color histogram as original tile.",
                              "type": "boolean"
                            },
                            "colorMode": {
                              "type": "string"
                            },
                            "colorPrecision": {
                              "type": "number"
                            },
                            "concepts": {
                              "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "modelEpoch": {
                                    "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                    "type": "string"
                                  },
                                  "scale": {
                                    "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                    "maximum": 2,
                                    "minimum": -2,
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "modelId",
                                  "scale"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "contours": {
                              "items": {
                                "items": {
                                  "items": {
                                    "items": {
                                      "type": "number"
                                    },
                                    "type": "array"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "type": "array"
                            },
                            "controlEnd": {
                              "description": "End step for control.",
                              "type": "number"
                            },
                            "copiedAt": {
                              "description": "The date when the asset was copied to a project",
                              "type": "string"
                            },
                            "cornerThreshold": {
                              "type": "number"
                            },
                            "creativity": {
                              "default": 35,
                              "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "creativityDecay": {
                              "default": 80,
                              "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "defaultParameters": {
                              "default": false,
                              "description": "If true, use the default parameters",
                              "type": "boolean"
                            },
                            "depthFidelity": {
                              "default": 90,
                              "description": "The depth fidelity if a depth image provided",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "depthImage": {
                              "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "detailsLevel": {
                              "default": 0,
                              "description": "Amount of details to remove or add",
                              "maximum": 50,
                              "minimum": -50,
                              "type": "number"
                            },
                            "dilate": {
                              "default": 0,
                              "maximum": 30,
                              "minimum": 0,
                              "type": "number"
                            },
                            "factor": {
                              "default": 5,
                              "description": "Contrast factor for Grayscale detector",
                              "type": "number"
                            },
                            "fileName": {
                              "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                              "type": "string"
                            },
                            "filterSpeckle": {
                              "type": "number"
                            },
                            "fractality": {
                              "default": 40,
                              "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "geometryEnforcement": {
                              "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "guidance": {
                              "description": "The guidance used to generate this asset",
                              "type": "number"
                            },
                            "halfMode": {
                              "type": "boolean"
                            },
                            "hdr": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            },
                            "highThreshold": {
                              "default": 200,
                              "description": "High threshold for Canny detector",
                              "type": "number"
                            },
                            "horizontalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Horizontal expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "image": {
                              "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                              "type": "string"
                            },
                            "imageFidelity": {
                              "default": 50,
                              "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "imageType": {
                              "default": "seamfull",
                              "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                              "enum": [
                                "seamfull",
                                "skybox",
                                "texture"
                              ],
                              "type": "string"
                            },
                            "inferenceId": {
                              "description": "The id of the Inference describing how this image was generated",
                              "type": "string"
                            },
                            "inputFidelity": {
                              "default": "low",
                              "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                              "enum": [
                                "high",
                                "low"
                              ],
                              "type": "string"
                            },
                            "inputLocation": {
                              "default": "middle",
                              "description": "Location of the input image in the output.",
                              "enum": [
                                "bottom",
                                "left",
                                "middle",
                                "right",
                                "top"
                              ],
                              "type": "string"
                            },
                            "invert": {
                              "default": false,
                              "description": "To invert the relief",
                              "type": "boolean"
                            },
                            "keepsFileNames": {
                              "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                              "type": "boolean"
                            },
                            "keypointThreshold": {
                              "default": 0.3,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "kind": {
                              "enum": [
                                "3d",
                                "audio",
                                "document",
                                "image",
                                "image-hdr",
                                "json",
                                "text",
                                "video"
                              ],
                              "type": "string"
                            },
                            "layerDifference": {
                              "type": "number"
                            },
                            "lengthThreshold": {
                              "type": "number"
                            },
                            "lockExpiresAt": {
                              "description": "The ISO timestamp when the lock on the canvas will expire",
                              "type": "string"
                            },
                            "lowThreshold": {
                              "default": 100,
                              "description": "Low threshold for Canny detector",
                              "type": "number"
                            },
                            "mask": {
                              "description": "The mask used for the asset generation or editing",
                              "type": "string"
                            },
                            "maxIterations": {
                              "type": "number"
                            },
                            "maxThreshold": {
                              "default": 90,
                              "description": "Maximum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "minThreshold": {
                              "default": 10,
                              "description": "Minimum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "modality": {
                              "default": "canny",
                              "description": "Modality to detect",
                              "enum": [
                                "canny",
                                "depth",
                                "grayscale",
                                "lineart_anime",
                                "mlsd",
                                "normal",
                                "pose",
                                "scribble",
                                "segmentation",
                                "sketch"
                              ],
                              "type": "string"
                            },
                            "mode": {
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The modelId used to generate this asset",
                              "type": "string"
                            },
                            "modelType": {
                              "description": "The type of the generator used",
                              "enum": [
                                "custom",
                                "elevenlabs-voice",
                                "flux.1",
                                "flux.1-composition",
                                "flux.1-kontext-dev",
                                "flux.1-kontext-lora",
                                "flux.1-krea-dev",
                                "flux.1-krea-lora",
                                "flux.1-lora",
                                "flux.1-pro",
                                "flux.1.1-pro-ultra",
                                "flux.2-dev-edit-lora",
                                "flux.2-dev-lora",
                                "flux.2-klein-4b-edit-lora",
                                "flux.2-klein-4b-lora",
                                "flux.2-klein-9b-edit-lora",
                                "flux.2-klein-9b-lora",
                                "flux.2-klein-base-4b-edit-lora",
                                "flux.2-klein-base-4b-lora",
                                "flux.2-klein-base-9b-edit-lora",
                                "flux.2-klein-base-9b-lora",
                                "flux1.1-pro",
                                "gpt-image-1",
                                "qwen-image-2512-lora",
                                "qwen-image-edit-2509-lora",
                                "qwen-image-edit-2511-lora",
                                "qwen-image-edit-lora",
                                "qwen-image-lora",
                                "zimage-de-turbo-lora",
                                "zimage-lora",
                                "zimage-turbo-lora"
                              ],
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "nbMasks": {
                              "type": "number"
                            },
                            "negativePrompt": {
                              "description": "The negative prompt used to generate this asset",
                              "type": "string"
                            },
                            "negativePromptStrength": {
                              "default": 0,
                              "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                              "maximum": 10,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numInferenceSteps": {
                              "default": 10,
                              "description": "The number of denoising steps for each image generation.",
                              "maximum": 50,
                              "minimum": 5,
                              "type": "number"
                            },
                            "numOutputs": {
                              "default": 4,
                              "description": "The number of outputs to generate.",
                              "maximum": 8,
                              "minimum": 1,
                              "type": "number"
                            },
                            "originalAssetId": {
                              "type": "string"
                            },
                            "outputIndex": {
                              "type": "number"
                            },
                            "overlapPercentage": {
                              "default": 0.08,
                              "description": "Overlap percentage for the output image.",
                              "maximum": 0.5,
                              "minimum": 0,
                              "type": "number"
                            },
                            "overrideEmbeddings": {
                              "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                              "type": "boolean"
                            },
                            "parentId": {
                              "type": "string"
                            },
                            "parentJobId": {
                              "type": "string"
                            },
                            "pathPrecision": {
                              "type": "number"
                            },
                            "points": {
                              "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                              "items": {
                                "items": {
                                  "type": "number"
                                },
                                "type": "array"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "polished": {
                              "default": 0.5,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "preset": {
                              "type": "string"
                            },
                            "progressPercent": {
                              "type": "number"
                            },
                            "prompt": {
                              "description": "The prompt that guided the asset generation or editing",
                              "type": "string"
                            },
                            "promptFidelity": {
                              "default": 50,
                              "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "raised": {
                              "default": 0.5,
                              "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "referenceImages": {
                              "description": "The reference images used for the asset generation or editing",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "refinementSteps": {
                              "default": 0,
                              "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                              "maximum": 4,
                              "minimum": 0,
                              "type": "number"
                            },
                            "removeBackground": {
                              "default": true,
                              "description": "Remove background for Grayscale detector",
                              "type": "boolean"
                            },
                            "resizeOption": {
                              "default": 1,
                              "description": "Size proportion of the input image in the output.",
                              "maximum": 1,
                              "minimum": 0.1,
                              "type": "number"
                            },
                            "resultContours": {
                              "default": false,
                              "description": "Boolean to output the contours.",
                              "type": "boolean"
                            },
                            "resultImage": {
                              "default": false,
                              "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                              "type": "boolean"
                            },
                            "resultMask": {
                              "default": true,
                              "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                              "type": "boolean"
                            },
                            "rootParentId": {
                              "type": "string"
                            },
                            "saveFlipbook": {
                              "default": true,
                              "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                              "type": "boolean"
                            },
                            "scalingFactor": {
                              "default": 2,
                              "description": "Scaling factor (when `targetWidth` not specified)",
                              "maximum": 16,
                              "minimum": 1,
                              "type": "number"
                            },
                            "scheduler": {
                              "description": "The scheduler used to generate this asset",
                              "type": "string"
                            },
                            "seed": {
                              "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                              "type": "string"
                            },
                            "sharpen": {
                              "default": false,
                              "description": "Sharpen tiles.",
                              "type": "boolean"
                            },
                            "shiny": {
                              "default": 0.5,
                              "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "sketch": {
                              "default": false,
                              "description": "Activate sketch detection instead of canny.",
                              "type": "boolean"
                            },
                            "sourceProjectId": {
                              "type": "string"
                            },
                            "spliceThreshold": {
                              "type": "number"
                            },
                            "strength": {
                              "default": 1,
                              "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                              "type": "number"
                            },
                            "structureFidelity": {
                              "default": 35,
                              "description": "Strength for the input image structure preservation",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "structureImage": {
                              "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "style": {
                              "enum": [
                                "3d-cartoon",
                                "3d-rendered",
                                "anime",
                                "cartoon",
                                "cinematic",
                                "claymation",
                                "cloud-skydome",
                                "comic",
                                "cyberpunk",
                                "enchanted",
                                "fantasy",
                                "ink",
                                "manga",
                                "manga-color",
                                "minimalist",
                                "neon-tron",
                                "oil-painting",
                                "pastel",
                                "photo",
                                "photography",
                                "psychedelic",
                                "retro-fantasy",
                                "scifi-concept-art",
                                "space",
                                "standard",
                                "whimsical"
                              ],
                              "type": "string"
                            },
                            "styleFidelity": {
                              "default": 20,
                              "description": "The higher the value the more it will look like the style image(s)",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "styleImages": {
                              "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                              "items": {
                                "type": "string"
                              },
                              "maxItems": 10,
                              "type": "array"
                            },
                            "styleImagesFidelity": {
                              "default": 17,
                              "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetHeight": {
                              "default": 1024,
                              "description": "The target height of the output image.",
                              "maximum": 2048,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetWidth": {
                              "description": "Target width for the upscaled image, take priority over scaling factor",
                              "maximum": 16000,
                              "minimum": 1024,
                              "type": "number"
                            },
                            "text": {
                              "description": "A textual description / keywords describing the object of interest.",
                              "maxLength": 100,
                              "type": "string"
                            },
                            "texture": {
                              "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "thumbnail": {
                              "additionalProperties": false,
                              "description": "The thumbnail of the canvas",
                              "properties": {
                                "assetId": {
                                  "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                  "type": "string"
                                },
                                "url": {
                                  "description": "The url of the image used as a thumbnail for the canvas",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "assetId",
                                "url"
                              ],
                              "type": "object"
                            },
                            "tileStyle": {
                              "default": false,
                              "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                              "type": "boolean"
                            },
                            "trainingImage": {
                              "type": "boolean"
                            },
                            "type": {
                              "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                              "enum": [
                                "3d-texture",
                                "3d-texture-albedo",
                                "3d-texture-metallic",
                                "3d-texture-mtl",
                                "3d-texture-normal",
                                "3d-texture-roughness",
                                "3d23d",
                                "3d23d-texture",
                                "audio2audio",
                                "audio2txt",
                                "audio2video",
                                "background-removal",
                                "canvas",
                                "canvas-drawing",
                                "canvas-export",
                                "detection",
                                "generative-fill",
                                "image-prompt-editing",
                                "img23d",
                                "img2img",
                                "img2splat",
                                "img2txt",
                                "img2video",
                                "inference-controlnet",
                                "inference-controlnet-img2img",
                                "inference-controlnet-inpaint",
                                "inference-controlnet-inpaint-ip-adapter",
                                "inference-controlnet-ip-adapter",
                                "inference-controlnet-reference",
                                "inference-controlnet-texture",
                                "inference-img2img",
                                "inference-img2img-ip-adapter",
                                "inference-img2img-texture",
                                "inference-inpaint",
                                "inference-inpaint-ip-adapter",
                                "inference-reference",
                                "inference-reference-texture",
                                "inference-txt2img",
                                "inference-txt2img-ip-adapter",
                                "inference-txt2img-texture",
                                "patch",
                                "pixelization",
                                "reframe",
                                "restyle",
                                "segment",
                                "segmentation-image",
                                "segmentation-mask",
                                "skybox-3d",
                                "skybox-base-360",
                                "skybox-hdri",
                                "texture",
                                "texture-albedo",
                                "texture-ao",
                                "texture-edge",
                                "texture-height",
                                "texture-metallic",
                                "texture-normal",
                                "texture-smoothness",
                                "txt23d",
                                "txt2audio",
                                "txt2img",
                                "txt2txt",
                                "txt2video",
                                "unknown",
                                "uploaded",
                                "uploaded-3d",
                                "uploaded-audio",
                                "uploaded-avatar",
                                "uploaded-text",
                                "uploaded-video",
                                "upscale",
                                "upscale-skybox",
                                "upscale-texture",
                                "upscale-video",
                                "vectorization",
                                "video23d",
                                "video2audio",
                                "video2img",
                                "video2txt",
                                "video2video",
                                "voice-clone"
                              ],
                              "type": "string"
                            },
                            "verticalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Vertical expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "width": {
                              "default": 1536,
                              "description": "The width of the rendered image.",
                              "maximum": 2048,
                              "minimum": 1024,
                              "type": "number"
                            }
                          },
                          "required": [
                            "kind",
                            "type"
                          ],
                          "type": "object"
                        },
                        "mimeType": {
                          "description": "The mime type of the asset (example: \"image/png\")",
                          "type": "string"
                        },
                        "nsfw": {
                          "description": "The NSFW labels",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "originalFileUrl": {
                          "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                          "type": "string"
                        },
                        "originalMimeType": {
                          "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                          "enum": [
                            "application/gzip",
                            "application/json",
                            "application/octet-stream",
                            "application/pdf",
                            "application/safetensors",
                            "application/vnd.autodesk.fbx",
                            "application/x-authorware-bin",
                            "application/x-zip-compressed",
                            "application/x.autodesk.fbx",
                            "application/zip",
                            "audio/flac",
                            "audio/m4a",
                            "audio/mpeg",
                            "audio/ogg",
                            "audio/wav",
                            "image/aces",
                            "image/avif",
                            "image/bmp",
                            "image/gif",
                            "image/heic",
                            "image/jpeg",
                            "image/png",
                            "image/svg+xml",
                            "image/tiff",
                            "image/vnd.radiance",
                            "image/webp",
                            "image/x-exr",
                            "model/glb",
                            "model/gltf+json",
                            "model/gltf-binary",
                            "model/ksplat",
                            "model/mtl",
                            "model/obj",
                            "model/ply",
                            "model/sog",
                            "model/splat",
                            "model/spz",
                            "model/stl",
                            "model/vnd.collada+xml",
                            "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                            "model/vnd.usdz+zip",
                            "model/x-3d-vox",
                            "model/x-blender",
                            "model/x-fbx",
                            "model/x-maya-ascii",
                            "model/x-maya-binary",
                            "model/x-vsplat",
                            "model/x3d+xml",
                            "text/plain",
                            "video/mp4",
                            "video/quicktime",
                            "video/webm"
                          ],
                          "type": "string"
                        },
                        "outputIndex": {
                          "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                          "type": "number"
                        },
                        "ownerId": {
                          "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                          "type": "string"
                        },
                        "preview": {
                          "additionalProperties": false,
                          "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "description": "The privacy of the asset",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "properties": {
                          "additionalProperties": false,
                          "description": "The properties of the asset, content may depend on the kind of asset returned",
                          "properties": {
                            "animationFrameCount": {
                              "description": "Number of animation frames if animations exist",
                              "type": "number"
                            },
                            "bitrate": {
                              "description": "Bitrate of the media in bits per second",
                              "type": "number"
                            },
                            "boneCount": {
                              "description": "Number of bones if skeleton exists",
                              "type": "number"
                            },
                            "cameraMode": {
                              "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "enum": [
                                "aerial",
                                "interior",
                                "turntable"
                              ],
                              "type": "string"
                            },
                            "cameraTrajectory": {
                              "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "items": {
                                "additionalProperties": false,
                                "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                "properties": {
                                  "fov": {
                                    "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                    "type": "number"
                                  },
                                  "position": {
                                    "description": "Camera eye position in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "target": {
                                    "description": "Look-at point in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "position",
                                  "target"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "channels": {
                              "description": "Number of channels of the audio",
                              "type": "number"
                            },
                            "charCount": {
                              "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                              "type": "number"
                            },
                            "classification": {
                              "description": "Classification of the audio",
                              "enum": [
                                "effect",
                                "interview",
                                "music",
                                "other",
                                "sound",
                                "speech",
                                "text",
                                "unknown"
                              ],
                              "type": "string"
                            },
                            "codecName": {
                              "description": "Codec name of the media",
                              "type": "string"
                            },
                            "description": {
                              "description": "Description of the audio",
                              "type": "string"
                            },
                            "dimensions": {
                              "description": "Bounding box dimensions [width, height, depth]",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "duration": {
                              "description": "Duration of the media in seconds",
                              "type": "number"
                            },
                            "faceCount": {
                              "description": "Number of faces/triangles in the mesh",
                              "type": "number"
                            },
                            "format": {
                              "description": "Format of the mesh file (e.g. 'glb', etc.)",
                              "type": "string"
                            },
                            "frameRate": {
                              "description": "Frame rate of the video in frames per second",
                              "type": "number"
                            },
                            "hasAnimations": {
                              "description": "Whether the mesh has animations",
                              "type": "boolean"
                            },
                            "hasFullPreview": {
                              "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                              "type": "boolean"
                            },
                            "hasNormals": {
                              "description": "Whether the mesh has normal vectors",
                              "type": "boolean"
                            },
                            "hasSkeleton": {
                              "description": "Whether the mesh has bones/skeleton",
                              "type": "boolean"
                            },
                            "hasUVs": {
                              "description": "Whether the mesh has UV coordinates",
                              "type": "boolean"
                            },
                            "height": {
                              "type": "number"
                            },
                            "nbFrames": {
                              "description": "Number of frames in the video",
                              "type": "number"
                            },
                            "preview": {
                              "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                              "type": "string"
                            },
                            "sampleRate": {
                              "description": "Sample rate of the media in Hz",
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "transcription": {
                              "additionalProperties": false,
                              "description": "Transcription of the audio",
                              "properties": {
                                "text": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text"
                              ],
                              "type": "object"
                            },
                            "vertexCount": {
                              "description": "Number of vertices in the mesh",
                              "type": "number"
                            },
                            "width": {
                              "type": "number"
                            },
                            "wordCount": {
                              "description": "Number of whitespace-separated words in the text",
                              "type": "number"
                            }
                          },
                          "required": [
                            "size"
                          ],
                          "type": "object"
                        },
                        "qualityGate": {
                          "additionalProperties": false,
                          "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                          "properties": {
                            "aiQualityScore": {
                              "description": "Generic AI-quality sub-score",
                              "type": "number"
                            },
                            "appliedBriefIds": {
                              "description": "Ids of briefs that contributed",
                              "items": {
                                "description": "Opaque identifier for a brief, derived from its scope.",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "briefComplianceScore": {
                              "description": "Brief-compliance sub-score (omitted when no brief applied)",
                              "type": "number"
                            },
                            "computedAt": {
                              "description": "ISO-8601 timestamp of when scoring ran",
                              "type": "string"
                            },
                            "details": {
                              "additionalProperties": false,
                              "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                              "properties": {
                                "aiQuality": {
                                  "additionalProperties": false,
                                  "description": "Always-on generic AI-quality dimension",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                },
                                "briefCompliance": {
                                  "additionalProperties": false,
                                  "description": "Brief-compliance dimension; omitted when no brief applied",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                }
                              },
                              "required": [
                                "aiQuality"
                              ],
                              "type": "object"
                            },
                            "error": {
                              "description": "Error message when status is 'error' (truncated)",
                              "type": "string"
                            },
                            "overallScore": {
                              "description": "0–100 composite score (present when status is 'scored')",
                              "type": "number"
                            },
                            "sensitivity": {
                              "description": "Sensitivity used for the verdict",
                              "enum": [
                                "high",
                                "low",
                                "medium"
                              ],
                              "type": "string"
                            },
                            "status": {
                              "description": "Whether scoring succeeded or errored",
                              "enum": [
                                "error",
                                "scored"
                              ],
                              "type": "string"
                            },
                            "verdict": {
                              "description": "pass / warn / fail (present when status is 'scored')",
                              "enum": [
                                "fail",
                                "pass",
                                "warn"
                              ],
                              "type": "string"
                            },
                            "version": {
                              "description": "Rubric/model version that produced this result",
                              "type": "string"
                            }
                          },
                          "required": [
                            "computedAt",
                            "status",
                            "version"
                          ],
                          "type": "object"
                        },
                        "source": {
                          "description": "source of the asset",
                          "enum": [
                            "3d23d",
                            "3d23d:texture",
                            "3d:texture",
                            "3d:texture:albedo",
                            "3d:texture:metallic",
                            "3d:texture:mtl",
                            "3d:texture:normal",
                            "3d:texture:roughness",
                            "audio2audio",
                            "audio2txt",
                            "audio2video",
                            "background-removal",
                            "canvas",
                            "canvas-drawing",
                            "canvas-export",
                            "detection",
                            "generative-fill",
                            "image-prompt-editing",
                            "img23d",
                            "img2img",
                            "img2splat",
                            "img2txt",
                            "img2video",
                            "inference-control-net",
                            "inference-control-net-img",
                            "inference-control-net-inpainting",
                            "inference-control-net-inpainting-ip-adapter",
                            "inference-control-net-ip-adapter",
                            "inference-control-net-reference",
                            "inference-control-net-texture",
                            "inference-img",
                            "inference-img-ip-adapter",
                            "inference-img-texture",
                            "inference-in-paint",
                            "inference-in-paint-ip-adapter",
                            "inference-reference",
                            "inference-reference-texture",
                            "inference-txt",
                            "inference-txt-ip-adapter",
                            "inference-txt-texture",
                            "patch",
                            "pixelization",
                            "reframe",
                            "restyle",
                            "segment",
                            "segmentation-image",
                            "segmentation-mask",
                            "skybox-3d",
                            "skybox-base-360",
                            "skybox-hdri",
                            "texture",
                            "texture:albedo",
                            "texture:ao",
                            "texture:edge",
                            "texture:height",
                            "texture:metallic",
                            "texture:normal",
                            "texture:smoothness",
                            "txt23d",
                            "txt2audio",
                            "txt2img",
                            "txt2txt",
                            "txt2video",
                            "unknown",
                            "uploaded",
                            "uploaded-3d",
                            "uploaded-audio",
                            "uploaded-avatar",
                            "uploaded-text",
                            "uploaded-video",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "upscale-video",
                            "vectorization",
                            "video23d",
                            "video2audio",
                            "video2img",
                            "video2txt",
                            "video2video",
                            "voice-clone"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The actual status",
                          "enum": [
                            "error",
                            "pending",
                            "success"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "url": {
                          "description": "Signed URL to get the asset content",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "collectionIds",
                        "createdAt",
                        "editCapabilities",
                        "id",
                        "kind",
                        "metadata",
                        "mimeType",
                        "ownerId",
                        "privacy",
                        "properties",
                        "source",
                        "status",
                        "tags",
                        "updatedAt",
                        "url"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "allowOverflow": {
                    "description": "Whether to allow the merged image to extend the size of the original (when x or y are negative or merged image is bigger)",
                    "type": "boolean"
                  },
                  "backgroundColor": {
                    "description": "The background color as an hexadecimal code (ex: \"#FFFFFF\"), an html color (ex: \"red\") or \"transparent\" if \"format\" is \"png\". Default to \"white\"",
                    "type": "string"
                  },
                  "crop": {
                    "additionalProperties": false,
                    "description": "The crop operation to apply to the image. Applied before any operation. For the backgroundColor: rgba, hex or named color are supported.",
                    "properties": {
                      "backgroundColor": {
                        "type": "string"
                      },
                      "height": {
                        "type": "number"
                      },
                      "left": {
                        "type": "number"
                      },
                      "top": {
                        "type": "number"
                      },
                      "width": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "height",
                      "left",
                      "top",
                      "width"
                    ],
                    "type": "object"
                  },
                  "format": {
                    "description": "The output format. Default to \"png\"",
                    "enum": [
                      "jpeg",
                      "png"
                    ],
                    "type": "string"
                  },
                  "image": {
                    "description": "The input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\") or the asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                    "type": "string"
                  },
                  "patch": {
                    "additionalProperties": false,
                    "description": "The image to be merged.",
                    "properties": {
                      "image": {
                        "description": "The source of the image to be merged, as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\") or the asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                        "type": "string"
                      },
                      "mode": {
                        "default": "override",
                        "description": "The mode of merging the images: `override` or `erase`.",
                        "enum": [
                          "erase",
                          "override"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "image",
                      "mode"
                    ],
                    "type": "object"
                  },
                  "position": {
                    "additionalProperties": false,
                    "description": "The position of the image to be merged.",
                    "properties": {
                      "x": {
                        "default": 0,
                        "description": "The X position of the image to be merged, in pixels.",
                        "type": "number"
                      },
                      "y": {
                        "default": 0,
                        "description": "The Y position of the image to be merged, in pixels.",
                        "type": "number"
                      }
                    },
                    "required": [
                      "x",
                      "y"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "image"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/embed": {
      "post": {
        "operationId": "PostEmbedInferences",
        "description": "Get embeddings from text",
        "tags": [
          "Generate: Embedding"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "embedding": {
                      "description": "The embedding\n\nA 1_024 dimension vector",
                      "items": {
                        "type": "number"
                      },
                      "type": "array"
                    },
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "embedding",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "text": {
                    "description": "The text to embed. Must be a non-empty string.",
                    "type": "string"
                  }
                },
                "required": [
                  "text"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/prompt-editing": {
      "post": {
        "operationId": "PostPromptEditingInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nEdit an image with a prompt.\n\n**Note**: Please use `POST /generate/custom/{modelId}` endpoint instead. You can retrieve the model inputs from the `GET /models/{modelId}` endpoint. Use one of the following models:\n\n- `model_bytedance-seedream-4-editing`\n- `model_flux-kontext-editing`\n- `model_google-gemini-2-5-flash-image-editing`\n- `model_openai-gpt-image-1-editing`\n- `model_qwen-image-editing`\n- `model_runway-gen4-image-editing`\n\nor one of your Kontext LoRA.\n\nSee https://docs.scenario.com/get-started/generation/third-party-model-generation for more details.",
        "tags": [
          "Generate: Image Editing"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "aspectRatio": {
                    "default": "auto",
                    "description": "The aspect ratio of the generated image(s).\nSupported for: `gemini-2.5-flash`, `gpt-image-1`, `flux-kontext`, `runway-gen4-image`, `seedream-4`.\nWill default to `auto` for other models and unknown ratios.\n\nNotes:\n- `gemini-2.5-flash` supports Landscape: 21:9, 16:9, 4:3, 3:2 • Square: 1:1 • Portrait: 9:16, 3:4, 2:3 • Flexible: 5:4, 4:5 • `auto`.\n- `gpt-image-1` supports `1:1`, `3:2`, `2:3`, `auto` (unknown ratios fall back to `auto`).\n- `runway-gen4-image` supports `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `auto` (unknown ratios fall back to `auto`).\n- `seedream-4` supports `1:1`, `4:3`, `3:4`, `16:9`, `9:16`, `2:3`, `3:2`, `21:9`, `auto`.",
                    "enum": [
                      "16:9",
                      "1:1",
                      "21:9",
                      "2:3",
                      "3:2",
                      "3:4",
                      "4:3",
                      "4:5",
                      "5:4",
                      "9:16",
                      "9:21",
                      "auto"
                    ],
                    "type": "string"
                  },
                  "compression": {
                    "default": 100,
                    "description": "The compression level (0-100%) for the generated images. This parameter is only supported for\nthe `gpt-image-1` model with the `webp` or `jpeg` output formats, and defaults to 100.",
                    "type": "number"
                  },
                  "concepts": {
                    "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "format": {
                    "default": "png",
                    "description": "The format of the generated image(s)\n\nThis parameter is only supported for the `gpt-image-1` model.",
                    "enum": [
                      "jpeg",
                      "png",
                      "webp"
                    ],
                    "type": "string"
                  },
                  "guidanceScale": {
                    "default": 3.5,
                    "description": "The guidance scale to use for the image generation.\n\nOnly available for the `flux-kontext` model.",
                    "type": "number"
                  },
                  "image": {
                    "description": "The image to edit. Must reference an existing AssetId or be a data URL.",
                    "type": "string"
                  },
                  "inputFidelity": {
                    "default": "low",
                    "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                    "enum": [
                      "high",
                      "low"
                    ],
                    "type": "string"
                  },
                  "mask": {
                    "description": "You can provide a mask to indicate where the image should be edited. The black area of the mask\nwill be replaced, while the filled areas will be kept as is.\n\nMust reference an existing AssetId or be a data URL.\n\nOnly available for the `gpt-image-1` model. Will be ignored for other models.",
                    "type": "string"
                  },
                  "modelId": {
                    "default": "gemini-2.5-flash",
                    "description": "The model to use. Can be \"gemini-2.0-flash\", \"gemini-2.5-flash\", \"gpt-image-1\", \"flux-kontext\", \"runway-gen4-image\" or \"seedream-4\".",
                    "enum": [
                      "flux-kontext",
                      "gemini-2.0-flash",
                      "gemini-2.5-flash",
                      "gpt-image-1",
                      "runway-gen4-image",
                      "seedream-4"
                    ],
                    "type": "string"
                  },
                  "numSamples": {
                    "default": 1,
                    "description": "The number of samples to generate\n\nMaximum depends on the subscription tier.",
                    "type": "number"
                  },
                  "prompt": {
                    "description": "The prompt to edit the given image.",
                    "type": "string"
                  },
                  "quality": {
                    "default": "high",
                    "description": "The quality of the generated image(s).\n\nOnly available for the `gpt-image-1`, `flux-kontext`, `runway-gen4-image` and `seedream-4` models.",
                    "enum": [
                      "high",
                      "low",
                      "medium"
                    ],
                    "type": "string"
                  },
                  "referenceImages": {
                    "description": "List of additional reference images as a data URLs (example: \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\\\") or the asset IDs (example: \\\"asset_GTrL3mq4SXWyMxkOHRxlpw\\\").\n\n5 additional reference images are allowed for the `gemini-2.0-flash`, `gemini-2.5-flash` and `gpt-image-1` models.\n3 additional reference images are allowed for the `flux-kontext` model.\nNo additional reference images are allowed for the `flux-kontext` model if using concepts.\n2 additional reference images are allowed for the `runway-gen4-image` model.",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 5,
                    "type": "array"
                  },
                  "seed": {
                    "default": "random",
                    "description": "The seed to use for the image generation.\n\nOnly available for the `flux-kontext` model.",
                    "type": "number"
                  },
                  "strength": {
                    "default": 1,
                    "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                    "type": "number"
                  }
                },
                "required": [
                  "image",
                  "prompt"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/prompt": {
      "post": {
        "operationId": "PostPromptInferences",
        "description": "Generate, complete or invent new prompts.",
        "tags": [
          "Generate: Text"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "mode": {
                      "default": "structured",
                      "description": "The mode used to generate new prompt(s).",
                      "enum": [
                        "completion",
                        "contextual",
                        "contextual-v2",
                        "image-editing",
                        "inventive",
                        "structured"
                      ],
                      "type": "string"
                    },
                    "prompts": {
                      "description": "The generated prompts.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "calls": {
                      "description": "The full ready-to-run model calls, index-aligned with `prompts`:\n`prompts[i]` is the prompt text of `calls[i]`.",
                      "items": {
                        "additionalProperties": false,
                        "description": "A complete, ready-to-run model call proposed by Prompt Spark v3.\n\nThe prompt text is carried inside `parameters` under the target model's\nprompt input (when the model defines one). For models without a prompt\ninput, the text is only available in the index-aligned `prompts` array.",
                        "properties": {
                          "modelId": {
                            "description": "The target model the call is for.",
                            "type": "string"
                          },
                          "parameters": {
                            "additionalProperties": false,
                            "description": "Schema-valid dynamic parameters for the target model, prompt included.",
                            "type": "object"
                          },
                          "rationale": {
                            "description": "Optional rationale for the proposed call.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "modelId",
                          "parameters"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "prompts",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "assetIds": {
                    "description": "The asset ids used to condition the generation.\n\nNotes:\n- supersedes the `modelId` parameter when provided.\n- ignored when `mode` is `image-editing-prompt`.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "ensureIPCleared": {
                    "description": "Whether we try to ensure IP removal for new prompt generation.",
                    "type": "boolean"
                  },
                  "image": {
                    "description": "The input image as a data URL (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\") or the asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")\n\nRequired when `mode` is `image-editing-prompt`.",
                    "type": "string"
                  },
                  "images": {
                    "description": "List of images used to condition the generation.\n\nImages are set a data URLs (example: \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\\\") or the asset IDs (example: \\\"asset_GTrL3mq4SXWyMxkOHRxlpw\\\").\n\nA referenced asset ID may point to an image or a video. A video is used\nfor visual conditioning via its first and last frames (a single frame when\nonly one is available) and stays a single reference.\n\nNotes:\n- in `contextual` mode, images condition prompt generation by using their actual descriptions as context\n- in all other modes, it supersedes the `modelId` parameter when provided.\n- `contextual-v2` (and modes aliased to it) accepts up to 15 references; the other modes accept up to 5.",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 15,
                    "type": "array"
                  },
                  "mode": {
                    "default": "structured",
                    "description": "The mode used to generate new prompt(s).",
                    "enum": [
                      "completion",
                      "contextual",
                      "contextual-v2",
                      "image-editing",
                      "inventive",
                      "structured"
                    ],
                    "type": "string"
                  },
                  "modelId": {
                    "description": "The modelId used to condition the generation.\n\nWhen provided, the generation will take into account model's training images, examples.\n\nOnly supports 'gemini-2.0-flash', 'gemini-2.5-flash', 'gpt-image-1', 'flux-kontext' and 'runway-gen4-image' for now when `mode` is `image-editing-prompt`.",
                    "type": "string"
                  },
                  "numResults": {
                    "default": 1,
                    "description": "The number of results to return.",
                    "maximum": 5,
                    "minimum": 1,
                    "type": "number"
                  },
                  "prompt": {
                    "description": "The initial prompt spark feed to `completion`, `inventive` or `structured` modes.",
                    "type": "string"
                  },
                  "seed": {
                    "description": "If specified, the API will make a best effort to produce the same results, such that repeated requests with the same `seed` and parameters should return the same outputs. Must be used along with the same parameters including prompt, model's state, etc..",
                    "type": "number"
                  },
                  "temperature": {
                    "default": 1,
                    "description": "The sampling temperature to use. Higher values like `0.8` will make the output more random, while lower values like `0.2` will make it more focused and deterministic.\n\nWe generally recommend altering this or `topP` but not both.",
                    "maximum": 2,
                    "minimum": 0,
                    "type": "number"
                  },
                  "topP": {
                    "default": 1,
                    "description": "An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So `0.1` means only the tokens comprising the top `10%` probability mass are considered.\n\nWe generally recommend altering this or `temperature` but not both.",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  }
                },
                "required": [
                  "mode"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/caption": {
      "post": {
        "operationId": "PostCaptionInferences",
        "description": "Caption image(s)",
        "tags": [
          "Generate: Text"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "captions": {
                      "description": "The captions for each image.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "detailsLevel": {
                      "description": "The details level used to generate the captions.\n\nWhen a modelId is provided and examples are available, the details level is ignored.",
                      "enum": [
                        "action",
                        "action+style"
                      ],
                      "type": "string"
                    },
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "captions",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "assetIds": {
                    "description": "The assetIds to generate captions. Results are returned in the same order as the given\nassetIds. Deprecated, use `images` parameter instead.",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 10,
                    "type": "array"
                  },
                  "detailsLevel": {
                    "description": "The details level used to generate the captions.\n\nWhen a modelId is provided and examples are available, the details level is ignored.",
                    "enum": [
                      "action",
                      "action+style"
                    ],
                    "type": "string"
                  },
                  "ensureIPCleared": {
                    "description": "Whether we try to ensure IP removal for new prompt generation.",
                    "type": "boolean"
                  },
                  "images": {
                    "description": "List of images used to generate captions. Results are returned in the same order as the given\nimages.\n\nImages are set a data URLs (example: \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\\\") or the asset IDs (example: \\\"asset_GTrL3mq4SXWyMxkOHRxlpw\\\").\n\nNotes:\n- if both `modelId` and `images` are provided, `modelId`'s examples and training images will be\n  used to influence the caption structure of the images\n- if only `images` are provided, the captions will be conditioned by the `detailsLevel` parameter\n- Replaces `assetIds` parameter\n- if you want to caption multiple images at a time, please prefer using asset ids instead of data url",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 10,
                    "type": "array"
                  },
                  "modelId": {
                    "description": "When provided, the model will follow the model's training images and examples' prompt to generate the captions.",
                    "type": "string"
                  },
                  "seed": {
                    "description": "If specified, the API will make a best effort to produce the same results, such that repeated requests with the same `seed` and parameters should return the same outputs. Must be used along with the same parameters including prompt, model's state, etc..",
                    "type": "number"
                  },
                  "temperature": {
                    "default": 1,
                    "description": "The sampling temperature to use. Higher values like `0.8` will make the output more random, while lower values like `0.2` will make it more focused and deterministic.\n\nWe generally recommend altering this or `topP` but not both.",
                    "maximum": 2,
                    "minimum": 0,
                    "type": "number"
                  },
                  "topP": {
                    "default": 1,
                    "description": "An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So `0.1` means only the tokens comprising the top `10%` probability mass are considered.\n\nWe generally recommend altering this or `temperature` but not both.",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "unwantedSequences": {
                    "description": "Optional list of words sequences that should not be present in the generated prompts.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "images"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/describe-style": {
      "post": {
        "operationId": "PostDescribeStyleInferences",
        "description": "Describe the style of the given images or models.",
        "tags": [
          "Generate: Text"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "description": {
                      "description": "The style of the given images.",
                      "type": "string"
                    },
                    "synthesis": {
                      "description": "A short synthesis that describes the given asset(s) or asset(s) model.",
                      "type": "string"
                    },
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "description",
                    "synthesis",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "assetIds": {
                    "description": "The asset ids used to condition the generation.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "ensureIPCleared": {
                    "description": "Whether we try to ensure IP removal for new prompt generation.",
                    "type": "boolean"
                  },
                  "images": {
                    "description": "List of images used to condition the generation.\n\nImages are set a data URLs (example: \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\\\") or the asset IDs (example: \\\"asset_GTrL3mq4SXWyMxkOHRxlpw\\\").\n\nNotes:\n- in `contextual` mode, images condition prompt generation by using their actual descriptions as context\n- in all other modes, it supersedes the `modelId` parameter when provided.",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 5,
                    "type": "array"
                  },
                  "modelId": {
                    "description": "The modelId used to condition the generation.\n\nWhen provided, the generation will take into account model's training images, examples.\n\nIn `contextual` mode, the modelId is used to retrieve additional context from the model such as its type and capabilities.",
                    "type": "string"
                  },
                  "seed": {
                    "description": "If specified, the API will make a best effort to produce the same results, such that repeated requests with the same `seed` and parameters should return the same outputs. Must be used along with the same parameters including prompt, model's state, etc..",
                    "type": "number"
                  },
                  "temperature": {
                    "default": 1,
                    "description": "The sampling temperature to use. Higher values like `0.8` will make the output more random, while lower values like `0.2` will make it more focused and deterministic.\n\nWe generally recommend altering this or `topP` but not both.",
                    "maximum": 2,
                    "minimum": 0,
                    "type": "number"
                  },
                  "topP": {
                    "default": 1,
                    "description": "An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So `0.1` means only the tokens comprising the top `10%` probability mass are considered.\n\nWe generally recommend altering this or `temperature` but not both.",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "unwantedSequences": {
                    "description": "Optional list of words sequences that should not be present in the generated prompts.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/translate": {
      "post": {
        "operationId": "PostTranslateInferences",
        "description": "Translate text from one language to english.",
        "tags": [
          "Generate: Text"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "translation": {
                      "description": "The translated prompt.",
                      "type": "string"
                    },
                    "detectedLanguage": {
                      "description": "Detected language of the input.",
                      "type": "string"
                    },
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "translation",
                    "detectedLanguage",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "ensureIPCleared": {
                    "description": "Whether we try to ensure IP removal for new prompt generation.",
                    "type": "boolean"
                  },
                  "images": {
                    "description": "List of images used to condition the generation.\n\nImages are set a data URLs (example: \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=\\\") or the asset IDs (example: \\\"asset_GTrL3mq4SXWyMxkOHRxlpw\\\").\n\nNotes:\n- in `contextual` mode, images condition prompt generation by using their actual descriptions as context\n- in all other modes, it supersedes the `modelId` parameter when provided.",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 5,
                    "type": "array"
                  },
                  "prompt": {
                    "default": "translation",
                    "description": "The prompt to translate.",
                    "type": "string"
                  },
                  "seed": {
                    "description": "If specified, the API will make a best effort to produce the same results, such that repeated requests with the same `seed` and parameters should return the same outputs. Must be used along with the same parameters including prompt, model's state, etc..",
                    "type": "number"
                  },
                  "temperature": {
                    "default": 1,
                    "description": "The sampling temperature to use. Higher values like `0.8` will make the output more random, while lower values like `0.2` will make it more focused and deterministic.\n\nWe generally recommend altering this or `topP` but not both.",
                    "maximum": 2,
                    "minimum": 0,
                    "type": "number"
                  },
                  "topP": {
                    "default": 1,
                    "description": "An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So `0.1` means only the tokens comprising the top `10%` probability mass are considered.\n\nWe generally recommend altering this or `temperature` but not both.",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  }
                },
                "required": [
                  "prompt"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/skybox-base-360": {
      "post": {
        "operationId": "PostSkyboxBase360Inferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger the generation of a 360 skybox seamless image.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Skybox"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "cannyStructureImage": {
                    "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                    "type": "string"
                  },
                  "depthFidelity": {
                    "default": 90,
                    "description": "The depth fidelity if a depth image provided",
                    "maximum": 100,
                    "minimum": 0,
                    "type": "number"
                  },
                  "depthImage": {
                    "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                    "type": "string"
                  },
                  "geometryEnforcement": {
                    "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                    "maximum": 100,
                    "minimum": 0,
                    "type": "number"
                  },
                  "image": {
                    "description": "The image to use as a starting point for the skybox generation. Must reference an existing AssetId or be a data URL.",
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "A negative full text prompt that discourages the skybox model from generating certain characteristics. It is recommended to test without using a negative prompt. Default: empty string. Example: \"Low resolution, blurry, pixelated, noisy.\"",
                    "type": "string"
                  },
                  "negativePromptStrength": {
                    "default": 0,
                    "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                  },
                  "numInferenceSteps": {
                    "default": 30,
                    "description": "The number of denoising steps for each image generation.",
                    "maximum": 50,
                    "minimum": 20,
                    "type": "number"
                  },
                  "numOutputs": {
                    "default": 4,
                    "description": "The number of outputs to generate.",
                    "maximum": 8,
                    "minimum": 1,
                    "type": "number"
                  },
                  "overrideEmbeddings": {
                    "description": "(deprecated) Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                    "type": "boolean"
                  },
                  "prompt": {
                    "description": "A full text prompt to guide the skybox generation process. Default: empty string. Example: \"a mountain landscape\"",
                    "type": "string"
                  },
                  "promptFidelity": {
                    "default": 60,
                    "description": "Increase the fidelity to the prompt during upscale.",
                    "maximum": 100,
                    "minimum": 0,
                    "type": "number"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "number"
                  },
                  "strength": {
                    "default": 0.75,
                    "description": "Controls the noise intensity introduced to the input image, where a value of 1.0 completely erases the original image's details. Available for img2img and inpainting. (within [0.01, 1.0], default: 0.75)",
                    "maximum": 1,
                    "minimum": 0.01,
                    "type": "number"
                  },
                  "structureFidelity": {
                    "default": 90,
                    "description": "The structure fidelity if a structureImage or a cannyStructureImage image is provided.",
                    "maximum": 100,
                    "minimum": 0,
                    "type": "number"
                  },
                  "structureImage": {
                    "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                    "type": "string"
                  },
                  "style": {
                    "default": "standard",
                    "description": "Style to apply for generation.",
                    "enum": [
                      "3d-cartoon",
                      "cartoon",
                      "cinematic",
                      "claymation",
                      "cloud-skydome",
                      "comic",
                      "cyberpunk",
                      "enchanted",
                      "fantasy",
                      "ink",
                      "manga",
                      "manga-color",
                      "neon-tron",
                      "oil-painting",
                      "pastel",
                      "photo",
                      "psychedelic",
                      "retro-fantasy",
                      "scifi-concept-art",
                      "space",
                      "standard",
                      "whimsical"
                    ],
                    "type": "string"
                  },
                  "styleFidelity": {
                    "default": 90,
                    "description": "(deprecated) Condition the influence of the style image. The higher the value, the more the style image will influence the generated skybox image.",
                    "maximum": 100,
                    "minimum": 0,
                    "type": "number"
                  },
                  "styleImages": {
                    "description": "(deprecated) List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 10,
                    "type": "array"
                  },
                  "width": {
                    "default": 1536,
                    "description": "The width of the rendered image.",
                    "maximum": 2048,
                    "minimum": 1024,
                    "type": "number"
                  }
                },
                "required": [
                  "prompt"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/skybox-upscale-360": {
      "post": {
        "operationId": "PostSkyboxUpscale360Inferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger the upscaling of an image matching the 360 skyboxes specific geometry.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Skybox"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "colorCorrection": {
                    "default": true,
                    "description": "Ensure upscaled tile have the same color histogram as original tile.",
                    "type": "boolean"
                  },
                  "detailsLevel": {
                    "default": 15,
                    "description": "Amount of details to remove or add",
                    "maximum": 50,
                    "minimum": -50,
                    "type": "number"
                  },
                  "image": {
                    "description": "The 360 image to upscale. Must reference an existing AssetId or a data URL.",
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "A negative full text prompt that discourages the skybox upscale from generating certain characteristics. It is recommended to test without using a negative prompt. Default: empty string. Example: \"Low resolution, blurry, pixelated, noisy.\"",
                    "type": "string"
                  },
                  "overrideEmbeddings": {
                    "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                    "type": "boolean"
                  },
                  "prompt": {
                    "description": "A full text prompt to guide the skybox upscale. Default: empty string. Example: \"a mountain landscape\"",
                    "type": "string"
                  },
                  "promptFidelity": {
                    "default": 40,
                    "description": "Increase the fidelity to the prompt during upscale.",
                    "maximum": 100,
                    "minimum": 0,
                    "type": "number"
                  },
                  "scalingFactor": {
                    "default": 2,
                    "description": "Scaling factor (when `targetWidth` not specified)",
                    "maximum": 8,
                    "minimum": 1,
                    "type": "number"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "number"
                  },
                  "sharpen": {
                    "default": false,
                    "description": "Sharpen tiles.",
                    "type": "boolean"
                  },
                  "styleFidelity": {
                    "default": 80,
                    "description": "Condition the influence of the style image. The higher the value, the more the style image will influence the upscaled skybox image. Default: 80",
                    "maximum": 100,
                    "minimum": 0,
                    "type": "number"
                  },
                  "styleImages": {
                    "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 10,
                    "type": "array"
                  },
                  "targetWidth": {
                    "description": "Target width for the upscaled image, take priority over scaling factor",
                    "maximum": 16000,
                    "minimum": 1024,
                    "type": "number"
                  }
                },
                "required": [
                  "image"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/reframe": {
      "post": {
        "operationId": "PostReframeInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nReframe a given image to new sizes. Extra space is filled based on the context.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Image Reframe"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "concepts": {
                    "description": "Flux LoRa or Composition to style the image.",
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "modelEpoch": {
                          "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                          "type": "string"
                        },
                        "scale": {
                          "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                          "maximum": 2,
                          "minimum": -2,
                          "type": "number"
                        }
                      },
                      "required": [
                        "modelId",
                        "scale"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "horizontalExpansionRatio": {
                    "default": 1,
                    "description": "(deprecated) Horizontal expansion ratio.",
                    "maximum": 2,
                    "minimum": 1,
                    "type": "number"
                  },
                  "image": {
                    "description": "The image to reframe. Must reference an existing AssetId or be a data URL.",
                    "type": "string"
                  },
                  "inputLocation": {
                    "default": "middle",
                    "description": "Location of the input image in the output.",
                    "enum": [
                      "bottom",
                      "left",
                      "middle",
                      "right",
                      "top"
                    ],
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "(deprecated) A negative full text prompt that discourages the repaint from generating certain characteristics. It is recommended to test without using a negative prompt.",
                    "type": "string"
                  },
                  "numInferenceSteps": {
                    "default": 10,
                    "description": "The number of denoising steps for each image generation.",
                    "maximum": 50,
                    "minimum": 5,
                    "type": "number"
                  },
                  "overlapPercentage": {
                    "default": 0.08,
                    "description": "Overlap percentage for the output image.",
                    "maximum": 0.5,
                    "minimum": 0,
                    "type": "number"
                  },
                  "prompt": {
                    "description": "A full text prompt to guide the repaint process.",
                    "type": "string"
                  },
                  "promptFidelity": {
                    "default": 7.5,
                    "description": "Increase the fidelity to the prompt during the restyle.",
                    "maximum": 15,
                    "minimum": 1,
                    "type": "number"
                  },
                  "resizeOption": {
                    "default": 1,
                    "description": "Size proportion of the input image in the output.",
                    "maximum": 1,
                    "minimum": 0.1,
                    "type": "number"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "number"
                  },
                  "targetHeight": {
                    "default": 1024,
                    "description": "The target height of the output image.",
                    "maximum": 2048,
                    "minimum": 0,
                    "type": "number"
                  },
                  "targetWidth": {
                    "default": 1024,
                    "description": "The target width of the output image.",
                    "maximum": 2048,
                    "minimum": 0,
                    "type": "number"
                  },
                  "verticalExpansionRatio": {
                    "default": 1,
                    "description": "(deprecated) Vertical expansion ratio.",
                    "maximum": 2,
                    "minimum": 1,
                    "type": "number"
                  }
                },
                "required": [
                  "image",
                  "targetHeight",
                  "targetWidth"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/generative-fill": {
      "post": {
        "operationId": "PostGenerativeFillInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nGenerative fill replace the selected mask area content based on the context. Used to erase objects or characters.\n\n**Note**: Please use `POST /generate/custom/{modelId}` instead. Retrieve the model inputs from `GET /models/{modelId}`.",
        "tags": [
          "Generate: Image Generative Fill"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "image": {
                    "description": "The image from which the mask will be refilled generatively. Must reference an existing AssetId or be a data URL.",
                    "type": "string"
                  },
                  "mask": {
                    "description": "The mask as a data URL, used to determine the area of change. The mask is a binary mask made out of white and black pixels. The white area is the one that will be replaced. (example: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAB...\")",
                    "type": "string"
                  },
                  "maskId": {
                    "description": "The mask as an AssetId, used to determine the area to refill generatively. Will be ignored if the `mask` parameter is provided. Must reference an existing AssetId.",
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "A negative full text prompt that discourages the repaint from generating certain characteristics. It is recommended to test without using a negative prompt.",
                    "type": "string"
                  },
                  "numInferenceSteps": {
                    "default": 30,
                    "description": "The number of denoising steps for each image generation.",
                    "maximum": 50,
                    "minimum": 5,
                    "type": "number"
                  },
                  "prompt": {
                    "description": "A full text prompt to guide the repaint process.",
                    "type": "string"
                  },
                  "promptFidelity": {
                    "default": 7.5,
                    "description": "Increase the fidelity to the prompt during the restyle.",
                    "maximum": 15,
                    "minimum": 1,
                    "type": "number"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "number"
                  },
                  "targetHeight": {
                    "default": 1024,
                    "description": "The target height of the output image.",
                    "maximum": 2048,
                    "minimum": 0,
                    "type": "number"
                  },
                  "targetWidth": {
                    "default": 1024,
                    "description": "The target width of the output image.",
                    "maximum": 2048,
                    "minimum": 0,
                    "type": "number"
                  }
                },
                "required": [
                  "image"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/segment": {
      "post": {
        "operationId": "PostSegmentInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger the segmentation of an image. By default returns binary masks; set `resultImage: true` to instead receive the source image with the mask applied as a transparent-background cut-out (mutually exclusive with `resultMask`). The process creates new Assets attached to the source as children.\n\n**Note**: Please use `POST /generate/custom/{modelId}` endpoint instead. You can retrieve the model inputs from the `GET /models/{modelId}` endpoint. Please use `model_meta-sam-3-1-image` `modelId`. See https://docs.scenario.com/get-started/generation/third-party-model-generation/third-party-model-generation-meta/ for more details.",
        "tags": [
          "Generate: Image Segmentation"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "segments": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "bbox": {
                            "description": "Bounding box of the segmented region, format [x1, y1, x2, y2].",
                            "items": {
                              "type": "number"
                            },
                            "type": "array"
                          },
                          "checkpoint": {
                            "description": "Checkpoint used to produce this result.",
                            "enum": [
                              "fastsam_x",
                              "sam_b",
                              "sam_h"
                            ],
                            "type": "string"
                          },
                          "contours": {
                            "description": "Polygon contours of the mask. Populated when `resultContours` is `true`.",
                            "items": {
                              "items": {
                                "items": {
                                  "items": {
                                    "type": "number"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "type": "array"
                            },
                            "type": "array"
                          },
                          "images": {
                            "description": "Source image with the mask applied as alpha channel (RGBA PNG with\ntransparent background). Populated when `resultImage` is `true`.",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "masks": {
                            "description": "Binary masks (data URLs). Populated when `resultMask` is `true` (default).\nEmpty when `resultImage` is `true` — see `images` instead.",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "message": {
                            "description": "Status message for this segmentation result.",
                            "type": "string"
                          },
                          "nbMasks": {
                            "description": "Number of masks contained in this result entry.",
                            "type": "number"
                          }
                        },
                        "required": [
                          "bbox",
                          "checkpoint",
                          "message",
                          "nbMasks"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "backgroundOpacity": {
                    "default": 0,
                    "maximum": 255,
                    "minimum": 0,
                    "type": "number"
                  },
                  "bbox": {
                    "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                    "items": {
                      "type": "number"
                    },
                    "maxItems": 4,
                    "minItems": 4,
                    "type": "array"
                  },
                  "betterQuality": {
                    "default": false,
                    "type": "boolean"
                  },
                  "checkpoint": {
                    "default": "fastsam_x",
                    "enum": [
                      "fastsam_x",
                      "sam_b",
                      "sam_h"
                    ],
                    "type": "string"
                  },
                  "dilate": {
                    "default": 0,
                    "maximum": 30,
                    "minimum": 0,
                    "type": "number"
                  },
                  "image": {
                    "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                    "type": "string"
                  },
                  "points": {
                    "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                    "items": {
                      "items": {
                        "type": "number"
                      },
                      "type": "array"
                    },
                    "maxItems": 3,
                    "minItems": 3,
                    "type": "array"
                  },
                  "resultContours": {
                    "default": false,
                    "description": "Boolean to output the contours.",
                    "type": "boolean"
                  },
                  "resultImage": {
                    "default": false,
                    "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                    "type": "boolean"
                  },
                  "resultMask": {
                    "default": true,
                    "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                    "type": "boolean"
                  },
                  "text": {
                    "description": "A textual description / keywords describing the object of interest.",
                    "maxLength": 100,
                    "type": "string"
                  }
                },
                "required": [
                  "image"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/texture": {
      "post": {
        "operationId": "PostTextureInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nTrigger the conversion of an image texture to different texture maps:\n- Height map\n- Normal map\n- Smoothness map\n- Metallic map\n- Edge map\n- Ambient Occlusion map\n\nThe process will create a new Asset with the above texture maps as children + the original image as an Albedo map.\n\n**Note**: Please use `POST /generate/custom/{modelId}` endpoint instead. You can retrieve the model inputs from the `GET /models/{modelId}` endpoint. Please use `model_sc-texture-converter` `modelId`. See https://docs.scenario.com/get-started/generation/third-party-model-generation/third-party-model-generation-scenario for more details.",
        "tags": [
          "Generate: Texture"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "angular": {
                    "default": 0.5,
                    "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "defaultParameters": {
                    "default": false,
                    "description": "If true, use the default parameters",
                    "type": "boolean"
                  },
                  "invert": {
                    "default": false,
                    "description": "To invert the relief",
                    "type": "boolean"
                  },
                  "polished": {
                    "default": 0.5,
                    "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "raised": {
                    "default": 0.5,
                    "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "saveFlipbook": {
                    "default": true,
                    "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                    "type": "boolean"
                  },
                  "shiny": {
                    "default": 0.5,
                    "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "texture": {
                    "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                    "type": "string"
                  }
                },
                "required": [
                  "texture"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/upscale": {
      "post": {
        "operationId": "PostUpscaleInferences",
        "description": "**[DEPRECATED]** This API is deprecated.\n\nUpscale an image. You can use styles and presets to quickly get results or craft your very own settings.\n\n**Note**: Please use `POST /generate/custom/{modelId}` endpoint instead. You can retrieve the model inputs from the `GET /models/{modelId}` endpoint. Please use `model_topaz-image-upscale` `modelId` for example. See https://docs.scenario.com/get-started/generation/image-upscale-models for more details.",
        "tags": [
          "Generate: Image Upscaling"
        ],
        "deprecated": true,
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "creativity": {
                    "default": 35,
                    "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                    "maximum": 100,
                    "minimum": 0,
                    "type": "number"
                  },
                  "creativityDecay": {
                    "default": 80,
                    "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                    "maximum": 100,
                    "minimum": 0,
                    "type": "number"
                  },
                  "detailsLevel": {
                    "default": 0,
                    "description": "Amount of details to remove or add",
                    "maximum": 50,
                    "minimum": -50,
                    "type": "number"
                  },
                  "fractality": {
                    "default": 40,
                    "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                    "maximum": 100,
                    "minimum": 0,
                    "type": "number"
                  },
                  "image": {
                    "description": "Image to upscale. Must reference an existing AssetId or be a data URL.",
                    "type": "string"
                  },
                  "imageFidelity": {
                    "default": 50,
                    "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                    "maximum": 100,
                    "minimum": 0,
                    "type": "number"
                  },
                  "imageType": {
                    "default": "seamfull",
                    "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                    "enum": [
                      "seamfull",
                      "skybox",
                      "texture"
                    ],
                    "type": "string"
                  },
                  "negativePrompt": {
                    "description": "A negative full text prompt that discourages the upscale from generating certain characteristics. It is recommended to test without using a negative prompt. Default: empty string. Example: \"Low resolution, blurry, pixelated, noisy.\"",
                    "type": "string"
                  },
                  "overrideEmbeddings": {
                    "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                    "type": "boolean"
                  },
                  "preset": {
                    "default": "balanced",
                    "description": "Optimize the upscale for a specific use case. Precise: Upscale for high fidelity. Balanced: Upscale for a balance between fidelity and creativity. Creative: Upscale for creativity.",
                    "enum": [
                      "balanced",
                      "creative",
                      "precise"
                    ],
                    "type": "string"
                  },
                  "prompt": {
                    "description": "A full text prompt to guide the upscale and forcing the generation of certain characteristics. Default: empty string. Example: \"UHD 8K hyper detailed studio photo of man face with yellow skin, anatomical++, disturbing+++, black background. Bloody++.\"",
                    "type": "string"
                  },
                  "promptFidelity": {
                    "default": 50,
                    "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                    "maximum": 100,
                    "minimum": 0,
                    "type": "number"
                  },
                  "refinementSteps": {
                    "default": 0,
                    "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                    "maximum": 4,
                    "minimum": 0,
                    "type": "number"
                  },
                  "scalingFactor": {
                    "default": 2,
                    "description": "Scaling factor (when `targetWidth` not specified)",
                    "maximum": 16,
                    "minimum": 1,
                    "type": "number"
                  },
                  "seed": {
                    "description": "Used to reproduce previous results. Default: randomly generated number.",
                    "maximum": 2147483647,
                    "minimum": 0,
                    "type": "number"
                  },
                  "style": {
                    "default": "standard",
                    "description": "Optimize the upscale for a specific style. standard works in most cases. Use one of the other styles to refine the outputs.",
                    "enum": [
                      "3d-rendered",
                      "anime",
                      "cartoon",
                      "comic",
                      "minimalist",
                      "photography",
                      "standard"
                    ],
                    "type": "string"
                  },
                  "styleImages": {
                    "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 10,
                    "type": "array"
                  },
                  "styleImagesFidelity": {
                    "default": 17,
                    "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                    "maximum": 100,
                    "minimum": 0,
                    "type": "number"
                  },
                  "targetWidth": {
                    "description": "Target width for the upscaled image, take priority over scaling factor",
                    "maximum": 16000,
                    "minimum": 1024,
                    "type": "number"
                  },
                  "tileStyle": {
                    "default": false,
                    "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "image"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/generate/detect": {
      "post": {
        "operationId": "PostDetectInferences",
        "description": "Advanced precision in image generation by transforming visual data from input images into mode maps.",
        "tags": [
          "Generate: Detection Maps"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          },
          {
            "name": "originalAssets",
            "in": "query",
            "required": false,
            "description": "If set to true, returns the original asset without transformation",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "asset": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "automaticCaptioning": {
                          "description": "Automatic captioning of the asset",
                          "type": "string"
                        },
                        "collectionIds": {
                          "description": "A list of CollectionId this asset belongs to",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "createdAt": {
                          "description": "The asset creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "deletedAt": {
                          "description": "The asset deletion date as an ISO string (example: \"2023-02-03T11:19:41.579Z\"). Only set on\ndeleted assets, listed with `deleted=true`.",
                          "type": "string"
                        },
                        "description": {
                          "description": "The description, it will contain in priority:\n- the manual description\n- the advanced captioning when the asset is used in training flow\n- the automatic captioning",
                          "type": "string"
                        },
                        "editCapabilities": {
                          "description": "List of edit capabilities",
                          "items": {
                            "enum": [
                              "DETECTION",
                              "GENERATIVE_FILL",
                              "PIXELATE",
                              "PROMPT_EDITING",
                              "REFINE",
                              "REFRAME",
                              "REMOVE_BACKGROUND",
                              "SEGMENTATION",
                              "UPSCALE",
                              "UPSCALE_360",
                              "VECTORIZATION"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "embedding": {
                          "description": "The embedding of the asset when requested.\n\nOnly available when an asset can be embedded (ie: not Detection maps)",
                          "items": {
                            "type": "number"
                          },
                          "type": "array"
                        },
                        "firstFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's first frame.\n\nContains the assetId and the url of the first frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "id": {
                          "description": "The asset ID (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                          "type": "string"
                        },
                        "isHidden": {
                          "description": "Whether the asset is hidden.",
                          "type": "boolean"
                        },
                        "kind": {
                          "description": "The kind of asset",
                          "enum": [
                            "3d",
                            "audio",
                            "document",
                            "image",
                            "image-hdr",
                            "json",
                            "text",
                            "video"
                          ],
                          "type": "string"
                        },
                        "lastFrame": {
                          "additionalProperties": false,
                          "description": "The video asset's last frame.\n\nContains the assetId and the url of the last frame.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the asset with some additional information",
                          "properties": {
                            "angular": {
                              "default": 0.5,
                              "description": "How angular is the surface? 0 is like a sphere, 1 is like a mechanical object",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "aspectRatio": {
                              "description": "The optional aspect ratio given for the generation, only applicable for some models",
                              "type": "string"
                            },
                            "backgroundOpacity": {
                              "default": 0,
                              "maximum": 255,
                              "minimum": 0,
                              "type": "number"
                            },
                            "baseModelId": {
                              "description": "The baseModelId that maybe changed at inference time",
                              "type": "string"
                            },
                            "bbox": {
                              "description": "A bounding box around the object of interest, in the format [x1, y1, x2, y2].",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 4,
                              "minItems": 4,
                              "type": "array"
                            },
                            "betterQuality": {
                              "default": false,
                              "type": "boolean"
                            },
                            "cannyStructureImage": {
                              "description": "The control image already processed by canny detector. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "clustering": {
                              "default": false,
                              "description": "Activate clustering.",
                              "type": "boolean"
                            },
                            "colorCorrection": {
                              "default": true,
                              "description": "Ensure upscaled tile have the same color histogram as original tile.",
                              "type": "boolean"
                            },
                            "colorMode": {
                              "type": "string"
                            },
                            "colorPrecision": {
                              "type": "number"
                            },
                            "concepts": {
                              "description": "Flux Kontext LoRA to style the image.\nFor Flux Kontext Prompt Editing.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "modelEpoch": {
                                    "description": "The epoch of the model (example: \"000001\")\nOnly available for Flux Lora Trained models",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model ID (example: \"model_eyVcnFJcR92BxBkz7N6g5w\")",
                                    "type": "string"
                                  },
                                  "scale": {
                                    "description": "The scale of the model (example: 1.0)\nFor Flux Kontext Prompt Editing, the scale is between 0 and 2.",
                                    "maximum": 2,
                                    "minimum": -2,
                                    "type": "number"
                                  }
                                },
                                "required": [
                                  "modelId",
                                  "scale"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "contours": {
                              "items": {
                                "items": {
                                  "items": {
                                    "items": {
                                      "type": "number"
                                    },
                                    "type": "array"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "type": "array"
                            },
                            "controlEnd": {
                              "description": "End step for control.",
                              "type": "number"
                            },
                            "copiedAt": {
                              "description": "The date when the asset was copied to a project",
                              "type": "string"
                            },
                            "cornerThreshold": {
                              "type": "number"
                            },
                            "creativity": {
                              "default": 35,
                              "description": "Allow the generation of \"hallucinations\" during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "creativityDecay": {
                              "default": 80,
                              "description": "Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "defaultParameters": {
                              "default": false,
                              "description": "If true, use the default parameters",
                              "type": "boolean"
                            },
                            "depthFidelity": {
                              "default": 90,
                              "description": "The depth fidelity if a depth image provided",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "depthImage": {
                              "description": "The control image processed by depth estimator. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "detailsLevel": {
                              "default": 0,
                              "description": "Amount of details to remove or add",
                              "maximum": 50,
                              "minimum": -50,
                              "type": "number"
                            },
                            "dilate": {
                              "default": 0,
                              "maximum": 30,
                              "minimum": 0,
                              "type": "number"
                            },
                            "factor": {
                              "default": 5,
                              "description": "Contrast factor for Grayscale detector",
                              "type": "number"
                            },
                            "fileName": {
                              "description": "The name its parent's files reference it by (an OBJ's MTL, an MTL's texture), kept as delivered.",
                              "type": "string"
                            },
                            "filterSpeckle": {
                              "type": "number"
                            },
                            "fractality": {
                              "default": 40,
                              "description": "Determine the scale at which the upscale process works.\n- With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.\n- With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.\n\n(info): A small value is slower and more expensive to run.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "geometryEnforcement": {
                              "description": "Apply extra control to the Skybox 360 geometry.\nThe higher the value, the more the 360 geometry will influence the generated skybox image.\n\nUse with caution. Default is adapted to the other parameters.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "guidance": {
                              "description": "The guidance used to generate this asset",
                              "type": "number"
                            },
                            "halfMode": {
                              "type": "boolean"
                            },
                            "hdr": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            },
                            "highThreshold": {
                              "default": 200,
                              "description": "High threshold for Canny detector",
                              "type": "number"
                            },
                            "horizontalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Horizontal expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "image": {
                              "description": "The input image to process. Must reference an existing AssetId or be a data URL.",
                              "type": "string"
                            },
                            "imageFidelity": {
                              "default": 50,
                              "description": "Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "imageType": {
                              "default": "seamfull",
                              "description": "Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).",
                              "enum": [
                                "seamfull",
                                "skybox",
                                "texture"
                              ],
                              "type": "string"
                            },
                            "inferenceId": {
                              "description": "The id of the Inference describing how this image was generated",
                              "type": "string"
                            },
                            "inputFidelity": {
                              "default": "low",
                              "description": "When set to `high`, allows to better preserve details from the input images in the output.\nThis is especially useful when using images that contain elements like faces or logos that\nrequire accurate preservation in the generated image.\n\nYou can provide multiple input images that will all be preserved with high fidelity, but keep\nin mind that the first image will be preserved with richer textures and finer details, so if\nyou include elements such as faces, consider placing them in the first image.\n\nOnly available for the `gpt-image-1` model.",
                              "enum": [
                                "high",
                                "low"
                              ],
                              "type": "string"
                            },
                            "inputLocation": {
                              "default": "middle",
                              "description": "Location of the input image in the output.",
                              "enum": [
                                "bottom",
                                "left",
                                "middle",
                                "right",
                                "top"
                              ],
                              "type": "string"
                            },
                            "invert": {
                              "default": false,
                              "description": "To invert the relief",
                              "type": "boolean"
                            },
                            "keepsFileNames": {
                              "description": "Its own references (an OBJ's `mtllib`, an MTL's maps) were kept as delivered.",
                              "type": "boolean"
                            },
                            "keypointThreshold": {
                              "default": 0.3,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "kind": {
                              "enum": [
                                "3d",
                                "audio",
                                "document",
                                "image",
                                "image-hdr",
                                "json",
                                "text",
                                "video"
                              ],
                              "type": "string"
                            },
                            "layerDifference": {
                              "type": "number"
                            },
                            "lengthThreshold": {
                              "type": "number"
                            },
                            "lockExpiresAt": {
                              "description": "The ISO timestamp when the lock on the canvas will expire",
                              "type": "string"
                            },
                            "lowThreshold": {
                              "default": 100,
                              "description": "Low threshold for Canny detector",
                              "type": "number"
                            },
                            "mask": {
                              "description": "The mask used for the asset generation or editing",
                              "type": "string"
                            },
                            "maxIterations": {
                              "type": "number"
                            },
                            "maxThreshold": {
                              "default": 90,
                              "description": "Maximum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "minThreshold": {
                              "default": 10,
                              "description": "Minimum threshold for Grayscale conversion",
                              "type": "number"
                            },
                            "modality": {
                              "default": "canny",
                              "description": "Modality to detect",
                              "enum": [
                                "canny",
                                "depth",
                                "grayscale",
                                "lineart_anime",
                                "mlsd",
                                "normal",
                                "pose",
                                "scribble",
                                "segmentation",
                                "sketch"
                              ],
                              "type": "string"
                            },
                            "mode": {
                              "type": "string"
                            },
                            "modelId": {
                              "description": "The modelId used to generate this asset",
                              "type": "string"
                            },
                            "modelType": {
                              "description": "The type of the generator used",
                              "enum": [
                                "custom",
                                "elevenlabs-voice",
                                "flux.1",
                                "flux.1-composition",
                                "flux.1-kontext-dev",
                                "flux.1-kontext-lora",
                                "flux.1-krea-dev",
                                "flux.1-krea-lora",
                                "flux.1-lora",
                                "flux.1-pro",
                                "flux.1.1-pro-ultra",
                                "flux.2-dev-edit-lora",
                                "flux.2-dev-lora",
                                "flux.2-klein-4b-edit-lora",
                                "flux.2-klein-4b-lora",
                                "flux.2-klein-9b-edit-lora",
                                "flux.2-klein-9b-lora",
                                "flux.2-klein-base-4b-edit-lora",
                                "flux.2-klein-base-4b-lora",
                                "flux.2-klein-base-9b-edit-lora",
                                "flux.2-klein-base-9b-lora",
                                "flux1.1-pro",
                                "gpt-image-1",
                                "qwen-image-2512-lora",
                                "qwen-image-edit-2509-lora",
                                "qwen-image-edit-2511-lora",
                                "qwen-image-edit-lora",
                                "qwen-image-lora",
                                "zimage-de-turbo-lora",
                                "zimage-lora",
                                "zimage-turbo-lora"
                              ],
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "nbMasks": {
                              "type": "number"
                            },
                            "negativePrompt": {
                              "description": "The negative prompt used to generate this asset",
                              "type": "string"
                            },
                            "negativePromptStrength": {
                              "default": 0,
                              "description": "Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence.\nMust be > 0 if negativePrompt is provided.",
                              "maximum": 10,
                              "minimum": 0,
                              "type": "number"
                            },
                            "numInferenceSteps": {
                              "default": 10,
                              "description": "The number of denoising steps for each image generation.",
                              "maximum": 50,
                              "minimum": 5,
                              "type": "number"
                            },
                            "numOutputs": {
                              "default": 4,
                              "description": "The number of outputs to generate.",
                              "maximum": 8,
                              "minimum": 1,
                              "type": "number"
                            },
                            "originalAssetId": {
                              "type": "string"
                            },
                            "outputIndex": {
                              "type": "number"
                            },
                            "overlapPercentage": {
                              "default": 0.08,
                              "description": "Overlap percentage for the output image.",
                              "maximum": 0.5,
                              "minimum": 0,
                              "type": "number"
                            },
                            "overrideEmbeddings": {
                              "description": "Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.",
                              "type": "boolean"
                            },
                            "parentId": {
                              "type": "string"
                            },
                            "parentJobId": {
                              "type": "string"
                            },
                            "pathPrecision": {
                              "type": "number"
                            },
                            "points": {
                              "description": "List of points (label, x, y) in the image where label = 0 for background and 1 for object.",
                              "items": {
                                "items": {
                                  "type": "number"
                                },
                                "type": "array"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "polished": {
                              "default": 0.5,
                              "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "preset": {
                              "type": "string"
                            },
                            "progressPercent": {
                              "type": "number"
                            },
                            "prompt": {
                              "description": "The prompt that guided the asset generation or editing",
                              "type": "string"
                            },
                            "promptFidelity": {
                              "default": 50,
                              "description": "Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "raised": {
                              "default": 0.5,
                              "description": "How raised is the surface? 0 is flat like water, 1 is like a very rough rock",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "referenceImages": {
                              "description": "The reference images used for the asset generation or editing",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "refinementSteps": {
                              "default": 0,
                              "description": "Additional refinement steps before scaling.\n\nIf scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times.\nIf scalingFactor > 1, the refinement process will be applied refinementSteps times.",
                              "maximum": 4,
                              "minimum": 0,
                              "type": "number"
                            },
                            "removeBackground": {
                              "default": true,
                              "description": "Remove background for Grayscale detector",
                              "type": "boolean"
                            },
                            "resizeOption": {
                              "default": 1,
                              "description": "Size proportion of the input image in the output.",
                              "maximum": 1,
                              "minimum": 0.1,
                              "type": "number"
                            },
                            "resultContours": {
                              "default": false,
                              "description": "Boolean to output the contours.",
                              "type": "boolean"
                            },
                            "resultImage": {
                              "default": false,
                              "description": "Boolean to return the source image with the mask applied as alpha channel\n(RGBA PNG, transparent background) instead of the binary mask.\nMutually exclusive with `resultMask` — passing both as `true` returns a 400 error.\nNote: `backgroundOpacity` is no longer honored — alpha is binary (0/255) only.",
                              "type": "boolean"
                            },
                            "resultMask": {
                              "default": true,
                              "description": "Boolean to return the binary masks in the response.\nMutually exclusive with `resultImage` — passing both as `true` returns a 400 error.",
                              "type": "boolean"
                            },
                            "rootParentId": {
                              "type": "string"
                            },
                            "saveFlipbook": {
                              "default": true,
                              "description": "Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px",
                              "type": "boolean"
                            },
                            "scalingFactor": {
                              "default": 2,
                              "description": "Scaling factor (when `targetWidth` not specified)",
                              "maximum": 16,
                              "minimum": 1,
                              "type": "number"
                            },
                            "scheduler": {
                              "description": "The scheduler used to generate this asset",
                              "type": "string"
                            },
                            "seed": {
                              "description": "The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.",
                              "type": "string"
                            },
                            "sharpen": {
                              "default": false,
                              "description": "Sharpen tiles.",
                              "type": "boolean"
                            },
                            "shiny": {
                              "default": 0.5,
                              "description": "How shiny is the surface? 0 is like a matte surface, 1 is like a diamond",
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "sketch": {
                              "default": false,
                              "description": "Activate sketch detection instead of canny.",
                              "type": "boolean"
                            },
                            "sourceProjectId": {
                              "type": "string"
                            },
                            "spliceThreshold": {
                              "type": "number"
                            },
                            "strength": {
                              "default": 1,
                              "description": "The strength\n\nOnly available for the `flux-kontext` LoRA model.",
                              "type": "number"
                            },
                            "structureFidelity": {
                              "default": 35,
                              "description": "Strength for the input image structure preservation",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "structureImage": {
                              "description": "The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "style": {
                              "enum": [
                                "3d-cartoon",
                                "3d-rendered",
                                "anime",
                                "cartoon",
                                "cinematic",
                                "claymation",
                                "cloud-skydome",
                                "comic",
                                "cyberpunk",
                                "enchanted",
                                "fantasy",
                                "ink",
                                "manga",
                                "manga-color",
                                "minimalist",
                                "neon-tron",
                                "oil-painting",
                                "pastel",
                                "photo",
                                "photography",
                                "psychedelic",
                                "retro-fantasy",
                                "scifi-concept-art",
                                "space",
                                "standard",
                                "whimsical"
                              ],
                              "type": "string"
                            },
                            "styleFidelity": {
                              "default": 20,
                              "description": "The higher the value the more it will look like the style image(s)",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "styleImages": {
                              "description": "List of style images. Most of the time, only one image is enough. It must be existing AssetIds.",
                              "items": {
                                "type": "string"
                              },
                              "maxItems": 10,
                              "type": "array"
                            },
                            "styleImagesFidelity": {
                              "default": 17,
                              "description": "Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.",
                              "maximum": 100,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetHeight": {
                              "default": 1024,
                              "description": "The target height of the output image.",
                              "maximum": 2048,
                              "minimum": 0,
                              "type": "number"
                            },
                            "targetWidth": {
                              "description": "Target width for the upscaled image, take priority over scaling factor",
                              "maximum": 16000,
                              "minimum": 1024,
                              "type": "number"
                            },
                            "text": {
                              "description": "A textual description / keywords describing the object of interest.",
                              "maxLength": 100,
                              "type": "string"
                            },
                            "texture": {
                              "description": "The asset to convert in texture maps. Must reference an existing AssetId.",
                              "type": "string"
                            },
                            "thumbnail": {
                              "additionalProperties": false,
                              "description": "The thumbnail of the canvas",
                              "properties": {
                                "assetId": {
                                  "description": "The AssetId of the image used as a thumbnail for the canvas (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                  "type": "string"
                                },
                                "url": {
                                  "description": "The url of the image used as a thumbnail for the canvas",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "assetId",
                                "url"
                              ],
                              "type": "object"
                            },
                            "tileStyle": {
                              "default": false,
                              "description": "If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.",
                              "type": "boolean"
                            },
                            "trainingImage": {
                              "type": "boolean"
                            },
                            "type": {
                              "description": "The type of the asset. Ex: 'inference-txt2img' will represent an asset generated from a text to image model",
                              "enum": [
                                "3d-texture",
                                "3d-texture-albedo",
                                "3d-texture-metallic",
                                "3d-texture-mtl",
                                "3d-texture-normal",
                                "3d-texture-roughness",
                                "3d23d",
                                "3d23d-texture",
                                "audio2audio",
                                "audio2txt",
                                "audio2video",
                                "background-removal",
                                "canvas",
                                "canvas-drawing",
                                "canvas-export",
                                "detection",
                                "generative-fill",
                                "image-prompt-editing",
                                "img23d",
                                "img2img",
                                "img2splat",
                                "img2txt",
                                "img2video",
                                "inference-controlnet",
                                "inference-controlnet-img2img",
                                "inference-controlnet-inpaint",
                                "inference-controlnet-inpaint-ip-adapter",
                                "inference-controlnet-ip-adapter",
                                "inference-controlnet-reference",
                                "inference-controlnet-texture",
                                "inference-img2img",
                                "inference-img2img-ip-adapter",
                                "inference-img2img-texture",
                                "inference-inpaint",
                                "inference-inpaint-ip-adapter",
                                "inference-reference",
                                "inference-reference-texture",
                                "inference-txt2img",
                                "inference-txt2img-ip-adapter",
                                "inference-txt2img-texture",
                                "patch",
                                "pixelization",
                                "reframe",
                                "restyle",
                                "segment",
                                "segmentation-image",
                                "segmentation-mask",
                                "skybox-3d",
                                "skybox-base-360",
                                "skybox-hdri",
                                "texture",
                                "texture-albedo",
                                "texture-ao",
                                "texture-edge",
                                "texture-height",
                                "texture-metallic",
                                "texture-normal",
                                "texture-smoothness",
                                "txt23d",
                                "txt2audio",
                                "txt2img",
                                "txt2txt",
                                "txt2video",
                                "unknown",
                                "uploaded",
                                "uploaded-3d",
                                "uploaded-audio",
                                "uploaded-avatar",
                                "uploaded-text",
                                "uploaded-video",
                                "upscale",
                                "upscale-skybox",
                                "upscale-texture",
                                "upscale-video",
                                "vectorization",
                                "video23d",
                                "video2audio",
                                "video2img",
                                "video2txt",
                                "video2video",
                                "voice-clone"
                              ],
                              "type": "string"
                            },
                            "verticalExpansionRatio": {
                              "default": 1,
                              "description": "(deprecated) Vertical expansion ratio.",
                              "maximum": 2,
                              "minimum": 1,
                              "type": "number"
                            },
                            "width": {
                              "default": 1536,
                              "description": "The width of the rendered image.",
                              "maximum": 2048,
                              "minimum": 1024,
                              "type": "number"
                            }
                          },
                          "required": [
                            "kind",
                            "type"
                          ],
                          "type": "object"
                        },
                        "mimeType": {
                          "description": "The mime type of the asset (example: \"image/png\")",
                          "type": "string"
                        },
                        "nsfw": {
                          "description": "The NSFW labels",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "originalFileUrl": {
                          "description": "The original file url.\n\nContains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets.\nIs only specified if the given asset data has been replaced with a new file during the creation of the asset.",
                          "type": "string"
                        },
                        "originalMimeType": {
                          "description": "The mime type of the original file url.\n\nThe original file is stored under a key that carries no extension, so this\nis the only way to know which format `originalFileUrl` serves (e.g. an HDRi\nskybox exposes a JPEG preview as `url` and its `.exr` or `.hdr` file as the\noriginal). Omitted when the stored format could not be determined.",
                          "enum": [
                            "application/gzip",
                            "application/json",
                            "application/octet-stream",
                            "application/pdf",
                            "application/safetensors",
                            "application/vnd.autodesk.fbx",
                            "application/x-authorware-bin",
                            "application/x-zip-compressed",
                            "application/x.autodesk.fbx",
                            "application/zip",
                            "audio/flac",
                            "audio/m4a",
                            "audio/mpeg",
                            "audio/ogg",
                            "audio/wav",
                            "image/aces",
                            "image/avif",
                            "image/bmp",
                            "image/gif",
                            "image/heic",
                            "image/jpeg",
                            "image/png",
                            "image/svg+xml",
                            "image/tiff",
                            "image/vnd.radiance",
                            "image/webp",
                            "image/x-exr",
                            "model/glb",
                            "model/gltf+json",
                            "model/gltf-binary",
                            "model/ksplat",
                            "model/mtl",
                            "model/obj",
                            "model/ply",
                            "model/sog",
                            "model/splat",
                            "model/spz",
                            "model/stl",
                            "model/vnd.collada+xml",
                            "model/vnd.ms-package.3dmanufacturing-3dmodel+xml",
                            "model/vnd.usdz+zip",
                            "model/x-3d-vox",
                            "model/x-blender",
                            "model/x-fbx",
                            "model/x-maya-ascii",
                            "model/x-maya-binary",
                            "model/x-vsplat",
                            "model/x3d+xml",
                            "text/plain",
                            "video/mp4",
                            "video/quicktime",
                            "video/webm"
                          ],
                          "type": "string"
                        },
                        "outputIndex": {
                          "description": "The output index of the asset within a job\nThis index is an positive integer that starts at 0\nIt is used to differentiate between multiple outputs of the same job\nIf the job has only one output, this index is 0",
                          "type": "number"
                        },
                        "ownerId": {
                          "description": "The owner (project) ID (example: \"proj_23tlk332lkht3kl2\" or \"team_dlkhgs23tlk3hlkth32lkht3kl2\" for old teams)",
                          "type": "string"
                        },
                        "preview": {
                          "additionalProperties": false,
                          "description": "The asset's preview.\n\nContains the assetId and the url of the preview.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "privacy": {
                          "description": "The privacy of the asset",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "properties": {
                          "additionalProperties": false,
                          "description": "The properties of the asset, content may depend on the kind of asset returned",
                          "properties": {
                            "animationFrameCount": {
                              "description": "Number of animation frames if animations exist",
                              "type": "number"
                            },
                            "bitrate": {
                              "description": "Bitrate of the media in bits per second",
                              "type": "number"
                            },
                            "boneCount": {
                              "description": "Number of bones if skeleton exists",
                              "type": "number"
                            },
                            "cameraMode": {
                              "description": "Recommended preview camera mode emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "enum": [
                                "aerial",
                                "interior",
                                "turntable"
                              ],
                              "type": "string"
                            },
                            "cameraTrajectory": {
                              "description": "Recommended preview camera path emitted by the generator (gsplat route);\npassed through to mesh-rendering verbatim.",
                              "items": {
                                "additionalProperties": false,
                                "description": "One explicit camera keyframe for the splat route. Several are interpolated\nover the requested frames into an orbit/fly-through; a single keyframe renders\na static view. Overrides {@link SplatCameraMode} when provided.",
                                "properties": {
                                  "fov": {
                                    "description": "Vertical field of view in degrees (defaults to 50 in the renderer).",
                                    "type": "number"
                                  },
                                  "position": {
                                    "description": "Camera eye position in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  },
                                  "target": {
                                    "description": "Look-at point in the splat's world frame.",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3,
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "position",
                                  "target"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "channels": {
                              "description": "Number of channels of the audio",
                              "type": "number"
                            },
                            "charCount": {
                              "description": "Number of Unicode code points in the text. Code-point-aware (so a non-BMP\nemoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence\nstill counts as several).",
                              "type": "number"
                            },
                            "classification": {
                              "description": "Classification of the audio",
                              "enum": [
                                "effect",
                                "interview",
                                "music",
                                "other",
                                "sound",
                                "speech",
                                "text",
                                "unknown"
                              ],
                              "type": "string"
                            },
                            "codecName": {
                              "description": "Codec name of the media",
                              "type": "string"
                            },
                            "description": {
                              "description": "Description of the audio",
                              "type": "string"
                            },
                            "dimensions": {
                              "description": "Bounding box dimensions [width, height, depth]",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3,
                              "type": "array"
                            },
                            "duration": {
                              "description": "Duration of the media in seconds",
                              "type": "number"
                            },
                            "faceCount": {
                              "description": "Number of faces/triangles in the mesh",
                              "type": "number"
                            },
                            "format": {
                              "description": "Format of the mesh file (e.g. 'glb', etc.)",
                              "type": "string"
                            },
                            "frameRate": {
                              "description": "Frame rate of the video in frames per second",
                              "type": "number"
                            },
                            "hasAnimations": {
                              "description": "Whether the mesh has animations",
                              "type": "boolean"
                            },
                            "hasFullPreview": {
                              "description": "True when `preview` holds the entire content unmodified — consumers can\nuse it directly without fetching `asset.url`. False or undefined means\nthe content exceeds the preview budget and consumers must fetch the\nfull body from S3 to read past the preview.",
                              "type": "boolean"
                            },
                            "hasNormals": {
                              "description": "Whether the mesh has normal vectors",
                              "type": "boolean"
                            },
                            "hasSkeleton": {
                              "description": "Whether the mesh has bones/skeleton",
                              "type": "boolean"
                            },
                            "hasUVs": {
                              "description": "Whether the mesh has UV coordinates",
                              "type": "boolean"
                            },
                            "height": {
                              "type": "number"
                            },
                            "nbFrames": {
                              "description": "Number of frames in the video",
                              "type": "number"
                            },
                            "preview": {
                              "description": "Leading slice of the content used for inline UI display and as a search\nshortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a\ncode-point boundary so no character is split. Number of characters in the\npreview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for\nemoji-heavy text at the default 1 KB budget).",
                              "type": "string"
                            },
                            "sampleRate": {
                              "description": "Sample rate of the media in Hz",
                              "type": "number"
                            },
                            "size": {
                              "type": "number"
                            },
                            "transcription": {
                              "additionalProperties": false,
                              "description": "Transcription of the audio",
                              "properties": {
                                "text": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text"
                              ],
                              "type": "object"
                            },
                            "vertexCount": {
                              "description": "Number of vertices in the mesh",
                              "type": "number"
                            },
                            "width": {
                              "type": "number"
                            },
                            "wordCount": {
                              "description": "Number of whitespace-separated words in the text",
                              "type": "number"
                            }
                          },
                          "required": [
                            "size"
                          ],
                          "type": "object"
                        },
                        "qualityGate": {
                          "additionalProperties": false,
                          "description": "Quality Gate result, computed asynchronously after generation.\n\n`details` (the per-dimension reasons and suggestions) is returned only when\nthe asset is read with `withQualityGateDetails=true`.",
                          "properties": {
                            "aiQualityScore": {
                              "description": "Generic AI-quality sub-score",
                              "type": "number"
                            },
                            "appliedBriefIds": {
                              "description": "Ids of briefs that contributed",
                              "items": {
                                "description": "Opaque identifier for a brief, derived from its scope.",
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "briefComplianceScore": {
                              "description": "Brief-compliance sub-score (omitted when no brief applied)",
                              "type": "number"
                            },
                            "computedAt": {
                              "description": "ISO-8601 timestamp of when scoring ran",
                              "type": "string"
                            },
                            "details": {
                              "additionalProperties": false,
                              "description": "Per-dimension reasons and suggestions, as produced by the detector.\n\nReturned only when the asset is read with `withQualityGateDetails=true` by\nthe project that owns it — the brief-compliance text paraphrases that\nproject's brief, so a cross-project read of a public asset gets the summary\nalone. Also omitted when the archived verdict is unavailable (asset scored\nby an older version, or an unreadable archive).",
                              "properties": {
                                "aiQuality": {
                                  "additionalProperties": false,
                                  "description": "Always-on generic AI-quality dimension",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                },
                                "briefCompliance": {
                                  "additionalProperties": false,
                                  "description": "Brief-compliance dimension; omitted when no brief applied",
                                  "properties": {
                                    "reasons": {
                                      "description": "Why the image scored as it did",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "score": {
                                      "description": "0–100; higher is better (more compliant / less AI-looking)",
                                      "type": "number"
                                    },
                                    "suggestions": {
                                      "description": "Actionable suggestions to improve the score",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "reasons",
                                    "score",
                                    "suggestions"
                                  ],
                                  "type": "object"
                                }
                              },
                              "required": [
                                "aiQuality"
                              ],
                              "type": "object"
                            },
                            "error": {
                              "description": "Error message when status is 'error' (truncated)",
                              "type": "string"
                            },
                            "overallScore": {
                              "description": "0–100 composite score (present when status is 'scored')",
                              "type": "number"
                            },
                            "sensitivity": {
                              "description": "Sensitivity used for the verdict",
                              "enum": [
                                "high",
                                "low",
                                "medium"
                              ],
                              "type": "string"
                            },
                            "status": {
                              "description": "Whether scoring succeeded or errored",
                              "enum": [
                                "error",
                                "scored"
                              ],
                              "type": "string"
                            },
                            "verdict": {
                              "description": "pass / warn / fail (present when status is 'scored')",
                              "enum": [
                                "fail",
                                "pass",
                                "warn"
                              ],
                              "type": "string"
                            },
                            "version": {
                              "description": "Rubric/model version that produced this result",
                              "type": "string"
                            }
                          },
                          "required": [
                            "computedAt",
                            "status",
                            "version"
                          ],
                          "type": "object"
                        },
                        "source": {
                          "description": "source of the asset",
                          "enum": [
                            "3d23d",
                            "3d23d:texture",
                            "3d:texture",
                            "3d:texture:albedo",
                            "3d:texture:metallic",
                            "3d:texture:mtl",
                            "3d:texture:normal",
                            "3d:texture:roughness",
                            "audio2audio",
                            "audio2txt",
                            "audio2video",
                            "background-removal",
                            "canvas",
                            "canvas-drawing",
                            "canvas-export",
                            "detection",
                            "generative-fill",
                            "image-prompt-editing",
                            "img23d",
                            "img2img",
                            "img2splat",
                            "img2txt",
                            "img2video",
                            "inference-control-net",
                            "inference-control-net-img",
                            "inference-control-net-inpainting",
                            "inference-control-net-inpainting-ip-adapter",
                            "inference-control-net-ip-adapter",
                            "inference-control-net-reference",
                            "inference-control-net-texture",
                            "inference-img",
                            "inference-img-ip-adapter",
                            "inference-img-texture",
                            "inference-in-paint",
                            "inference-in-paint-ip-adapter",
                            "inference-reference",
                            "inference-reference-texture",
                            "inference-txt",
                            "inference-txt-ip-adapter",
                            "inference-txt-texture",
                            "patch",
                            "pixelization",
                            "reframe",
                            "restyle",
                            "segment",
                            "segmentation-image",
                            "segmentation-mask",
                            "skybox-3d",
                            "skybox-base-360",
                            "skybox-hdri",
                            "texture",
                            "texture:albedo",
                            "texture:ao",
                            "texture:edge",
                            "texture:height",
                            "texture:metallic",
                            "texture:normal",
                            "texture:smoothness",
                            "txt23d",
                            "txt2audio",
                            "txt2img",
                            "txt2txt",
                            "txt2video",
                            "unknown",
                            "uploaded",
                            "uploaded-3d",
                            "uploaded-audio",
                            "uploaded-avatar",
                            "uploaded-text",
                            "uploaded-video",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "upscale-video",
                            "vectorization",
                            "video23d",
                            "video2audio",
                            "video2img",
                            "video2txt",
                            "video2video",
                            "voice-clone"
                          ],
                          "type": "string"
                        },
                        "status": {
                          "description": "The actual status",
                          "enum": [
                            "error",
                            "pending",
                            "success"
                          ],
                          "type": "string"
                        },
                        "tags": {
                          "description": "The associated tags (example: [\"sci-fi\", \"landscape\"])",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "The asset's thumbnail.\n\nContains the assetId and the url of the thumbnail.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "The asset last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "url": {
                          "description": "Signed URL to get the asset content",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "collectionIds",
                        "createdAt",
                        "editCapabilities",
                        "id",
                        "kind",
                        "metadata",
                        "mimeType",
                        "ownerId",
                        "privacy",
                        "properties",
                        "source",
                        "status",
                        "tags",
                        "updatedAt",
                        "url"
                      ],
                      "type": "object"
                    },
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "factor": {
                    "default": 5,
                    "description": "Contrast factor for Grayscale detector",
                    "type": "number"
                  },
                  "highThreshold": {
                    "default": 200,
                    "description": "High threshold for Canny detector",
                    "type": "number"
                  },
                  "image": {
                    "description": "The image to be used to detect. Must reference an existing AssetId or be a data URL.",
                    "type": "string"
                  },
                  "keypointThreshold": {
                    "default": 0.3,
                    "description": "How polished is the surface? 0 is like a rough surface, 1 is like a mirror",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "lowThreshold": {
                    "default": 100,
                    "description": "Low threshold for Canny detector",
                    "type": "number"
                  },
                  "maxThreshold": {
                    "default": 90,
                    "description": "Maximum threshold for Grayscale conversion",
                    "type": "number"
                  },
                  "minThreshold": {
                    "default": 10,
                    "description": "Minimum threshold for Grayscale conversion",
                    "type": "number"
                  },
                  "modality": {
                    "default": "canny",
                    "description": "Modality to detect",
                    "enum": [
                      "canny",
                      "depth",
                      "grayscale",
                      "lineart_anime",
                      "mlsd",
                      "normal",
                      "pose",
                      "scribble",
                      "segmentation",
                      "sketch"
                    ],
                    "type": "string"
                  },
                  "removeBackground": {
                    "default": true,
                    "description": "Remove background for Grayscale detector",
                    "type": "boolean"
                  }
                },
                "required": [
                  "image",
                  "modality"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/jobs/{jobId}": {
      "get": {
        "operationId": "GetJobId",
        "description": "Get job data by job ID",
        "tags": [
          "Jobs"
        ],
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/jobs/{jobId}/action": {
      "post": {
        "operationId": "PostJobActionByJobId",
        "description": "Trigger an action on a job: cancel",
        "tags": [
          "Jobs"
        ],
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "description": "The job Id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "action": {
                    "description": "The action to execute on the job, such as canceling it. Today only cancel on inference jobs is supported.",
                    "enum": [
                      "cancel"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/jobs": {
      "get": {
        "operationId": "GetJobs",
        "description": "List all jobs matching the given filters. A job is a synchronous operation or an asynchronous task such as a training, a generation, etc. It offers a unified view of all operations running on the platform along with their status and results. A page can hold fewer jobs than \"pageSize\", or none, while \"nextPaginationToken\" is set: keep paginating until it is absent.",
        "tags": [
          "Jobs"
        ],
        "parameters": [
          {
            "name": "authorId",
            "in": "query",
            "required": false,
            "description": "The authorId of the jobs to return. When set, only jobs from the last 30 days are returned (by creation date, or by update date when \"status\", \"type\", \"types\" or \"workflowId\" is set) unless \"createdAfter\" or \"updatedAfter\" is set. Optional.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdAfter",
            "in": "query",
            "required": false,
            "description": "Only return the jobs created after this date (ISO 8601). Only allowed without \"status\", \"type\", \"types\" and \"workflowId\", which sort jobs by update date: use \"updatedAfter\" with them. Overrides the 30-day window applied with \"authorId\" or \"hideResults=false\". Optional.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "hideResults",
            "in": "query",
            "required": false,
            "description": "If false, jobs submitted with \"hideResults\": true are not returned. When false, only jobs from the last 30 days are returned (by creation date, or by update date when \"status\", \"type\", \"types\" or \"workflowId\" is set) unless \"createdAfter\" or \"updatedAfter\" is set. Optional.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "The number of items to return in the response. The default value is 50, maximum value is 100, minimum value is 1",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 50
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "required": false,
            "description": "A token you received in a previous request to query the next page of items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "The status of the jobs to return. Optional.",
            "schema": {
              "type": "string",
              "enum": [
                "pending",
                "queued",
                "warming-up",
                "in-progress",
                "success",
                "failure",
                "canceled",
                "finalizing"
              ]
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "The type of the jobs to return. If \"types\" is defined, \"type\" will be ignored. Optional.",
            "schema": {
              "type": "string",
              "enum": [
                "assets-download",
                "model-training",
                "flux-model-training",
                "musubi-model-training",
                "inference",
                "pixelate",
                "embed",
                "remove-background",
                "vectorize",
                "canvas-export",
                "image-generation",
                "image-prompt-editing",
                "caption",
                "generate-prompt",
                "describe-style",
                "translate",
                "detection",
                "restyle",
                "repaint",
                "reframe",
                "segment",
                "skybox-base-360",
                "skybox-upscale-360",
                "skybox-hdri",
                "skybox-3d",
                "texture",
                "upscale",
                "upscale-skybox",
                "upscale-texture",
                "flux",
                "openai-image-generation",
                "upload",
                "custom",
                "splat",
                "mesh-preview-rendering",
                "workflow"
              ]
            }
          },
          {
            "name": "types",
            "in": "query",
            "required": false,
            "description": "The types of the jobs to return, comma separated. If \"types\" is defined, \"type\" will be ignored. Can be any of the following values: assets-download, model-training, flux-model-training, musubi-model-training, inference, pixelate, embed, remove-background, vectorize, canvas-export, image-generation, image-prompt-editing, caption, generate-prompt, describe-style, translate, detection, restyle, repaint, reframe, segment, skybox-base-360, skybox-upscale-360, skybox-hdri, skybox-3d, texture, upscale, upscale-skybox, upscale-texture, flux, openai-image-generation, upload, custom, splat, mesh-preview-rendering, workflow. Optional.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "assets-download",
                  "model-training",
                  "flux-model-training",
                  "musubi-model-training",
                  "inference",
                  "pixelate",
                  "embed",
                  "remove-background",
                  "vectorize",
                  "canvas-export",
                  "image-generation",
                  "image-prompt-editing",
                  "caption",
                  "generate-prompt",
                  "describe-style",
                  "translate",
                  "detection",
                  "restyle",
                  "repaint",
                  "reframe",
                  "segment",
                  "skybox-base-360",
                  "skybox-upscale-360",
                  "skybox-hdri",
                  "skybox-3d",
                  "texture",
                  "upscale",
                  "upscale-skybox",
                  "upscale-texture",
                  "flux",
                  "openai-image-generation",
                  "upload",
                  "custom",
                  "splat",
                  "mesh-preview-rendering",
                  "workflow"
                ]
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "updatedAfter",
            "in": "query",
            "required": false,
            "description": "Only return the jobs updated after this date (ISO 8601). Only allowed with \"status\", \"type\", \"types\" or \"workflowId\": without them jobs are sorted by creation date, use \"createdAfter\". Overrides the 30-day window applied with \"authorId\" or \"hideResults=false\". Optional.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workflowId",
            "in": "query",
            "required": false,
            "description": "Only return the jobs produced by the given workflow. Optional.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jobs": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "authorId": {
                            "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                            "type": "string"
                          },
                          "billing": {
                            "additionalProperties": false,
                            "description": "The billing of the job",
                            "properties": {
                              "cuCost": {
                                "type": "number"
                              },
                              "cuCostDetails": {
                                "additionalProperties": false,
                                "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                                "properties": {
                                  "ip-detection": {
                                    "type": "number"
                                  },
                                  "quality-gate": {
                                    "type": "number"
                                  }
                                },
                                "type": "object"
                              },
                              "cuDiscount": {
                                "type": "number"
                              },
                              "disableRefund": {
                                "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "cuCost",
                              "cuDiscount"
                            ],
                            "type": "object"
                          },
                          "createdAt": {
                            "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          },
                          "jobId": {
                            "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                            "type": "string"
                          },
                          "jobType": {
                            "description": "The type of job",
                            "enum": [
                              "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",
                              "splat",
                              "texture",
                              "translate",
                              "upload",
                              "upscale",
                              "upscale-skybox",
                              "upscale-texture",
                              "vectorize",
                              "workflow"
                            ],
                            "type": "string"
                          },
                          "metadata": {
                            "additionalProperties": false,
                            "description": "Metadata of the job with some additional information",
                            "properties": {
                              "assetIds": {
                                "description": "List of produced assets for this job",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "error": {
                                "description": "Eventual error for the job",
                                "type": "string",
                                "nullable": true
                              },
                              "flow": {
                                "description": "The flow of the job. Only available for workflow jobs.",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "assets": {
                                      "description": "List of produced assets for this node.",
                                      "items": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "assetId": {
                                            "type": "string"
                                          },
                                          "url": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "assetId",
                                          "url"
                                        ],
                                        "type": "object"
                                      },
                                      "type": "array"
                                    },
                                    "count": {
                                      "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                      "type": "number"
                                    },
                                    "dependsOn": {
                                      "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "id": {
                                      "description": "The id of the node.",
                                      "type": "string"
                                    },
                                    "includeOutputsInWorkflowJob": {
                                      "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                      "enum": [
                                        true
                                      ],
                                      "type": "boolean"
                                    },
                                    "inputs": {
                                      "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                      "items": {
                                        "additionalProperties": false,
                                        "description": "This is used to run the flow.",
                                        "properties": {
                                          "allowedValues": {
                                            "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                            "items": {},
                                            "type": "array"
                                          },
                                          "backgroundBehavior": {
                                            "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                            "enum": [
                                              "opaque",
                                              "transparent"
                                            ],
                                            "type": "string"
                                          },
                                          "color": {
                                            "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                            "type": "boolean"
                                          },
                                          "costImpact": {
                                            "description": "Whether this input affects the model's cost calculation",
                                            "type": "boolean"
                                          },
                                          "default": {
                                            "description": "The default value for the input"
                                          },
                                          "description": {
                                            "description": "Help text displayed in the UI to provide additional information about the input",
                                            "type": "string"
                                          },
                                          "group": {
                                            "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                            "type": "string"
                                          },
                                          "hint": {
                                            "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                            "type": "string"
                                          },
                                          "inputs": {
                                            "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                            "items": {
                                              "additionalProperties": true,
                                              "properties": {},
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "items": {
                                            "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                            "items": {
                                              "items": {
                                                "additionalProperties": false,
                                                "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                                "properties": {
                                                  "allowedValues": {
                                                    "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                    "items": {},
                                                    "type": "array"
                                                  },
                                                  "backgroundBehavior": {
                                                    "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                    "enum": [
                                                      "opaque",
                                                      "transparent"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "color": {
                                                    "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                    "type": "boolean"
                                                  },
                                                  "costImpact": {
                                                    "description": "Whether this input affects the model's cost calculation",
                                                    "type": "boolean"
                                                  },
                                                  "default": {
                                                    "description": "The default value for the input"
                                                  },
                                                  "description": {
                                                    "description": "Help text displayed in the UI to provide additional information about the input",
                                                    "type": "string"
                                                  },
                                                  "group": {
                                                    "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                    "type": "string"
                                                  },
                                                  "hint": {
                                                    "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                    "type": "string"
                                                  },
                                                  "inputs": {
                                                    "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                    "items": {
                                                      "additionalProperties": true,
                                                      "properties": {},
                                                      "type": "object"
                                                    },
                                                    "type": "array"
                                                  },
                                                  "kind": {
                                                    "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                    "enum": [
                                                      "3d",
                                                      "audio",
                                                      "document",
                                                      "image",
                                                      "image-hdr",
                                                      "json",
                                                      "text",
                                                      "video"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "label": {
                                                    "description": "The label displayed in the UI for this input",
                                                    "type": "string"
                                                  },
                                                  "maskFrom": {
                                                    "description": "The name of the file input field to use as the mask source",
                                                    "type": "string"
                                                  },
                                                  "max": {
                                                    "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                    "type": "number"
                                                  },
                                                  "maxDuration": {
                                                    "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                    "type": "number"
                                                  },
                                                  "maxLength": {
                                                    "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                    "type": "number"
                                                  },
                                                  "maxSize": {
                                                    "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                    "type": "number"
                                                  },
                                                  "min": {
                                                    "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                    "type": "number"
                                                  },
                                                  "minDuration": {
                                                    "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                    "type": "number"
                                                  },
                                                  "minLength": {
                                                    "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                    "type": "number"
                                                  },
                                                  "modelTypes": {
                                                    "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                    "items": {
                                                      "enum": [
                                                        "custom",
                                                        "elevenlabs-voice",
                                                        "flux.1",
                                                        "flux.1-composition",
                                                        "flux.1-kontext-dev",
                                                        "flux.1-kontext-lora",
                                                        "flux.1-krea-dev",
                                                        "flux.1-krea-lora",
                                                        "flux.1-lora",
                                                        "flux.1-pro",
                                                        "flux.1.1-pro-ultra",
                                                        "flux.2-dev-edit-lora",
                                                        "flux.2-dev-lora",
                                                        "flux.2-klein-4b-edit-lora",
                                                        "flux.2-klein-4b-lora",
                                                        "flux.2-klein-9b-edit-lora",
                                                        "flux.2-klein-9b-lora",
                                                        "flux.2-klein-base-4b-edit-lora",
                                                        "flux.2-klein-base-4b-lora",
                                                        "flux.2-klein-base-9b-edit-lora",
                                                        "flux.2-klein-base-9b-lora",
                                                        "flux1.1-pro",
                                                        "gpt-image-1",
                                                        "qwen-image-2512-lora",
                                                        "qwen-image-edit-2509-lora",
                                                        "qwen-image-edit-2511-lora",
                                                        "qwen-image-edit-lora",
                                                        "qwen-image-lora",
                                                        "zimage-de-turbo-lora",
                                                        "zimage-lora",
                                                        "zimage-turbo-lora"
                                                      ],
                                                      "type": "string"
                                                    },
                                                    "type": "array"
                                                  },
                                                  "name": {
                                                    "description": "The name that must be user to call the model through the API",
                                                    "type": "string"
                                                  },
                                                  "parent": {
                                                    "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                    "type": "boolean"
                                                  },
                                                  "placeholder": {
                                                    "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                    "type": "string"
                                                  },
                                                  "prompt": {
                                                    "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                    "type": "boolean"
                                                  },
                                                  "promptSpark": {
                                                    "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                    "type": "boolean"
                                                  },
                                                  "ref": {
                                                    "additionalProperties": false,
                                                    "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                    "properties": {
                                                      "conditional": {
                                                        "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                        "items": {
                                                          "type": "string"
                                                        },
                                                        "type": "array"
                                                      },
                                                      "equal": {
                                                        "description": "This is the desired node output value if ref is an if/else node.",
                                                        "type": "string"
                                                      },
                                                      "name": {
                                                        "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                        "type": "string"
                                                      },
                                                      "node": {
                                                        "description": "The node id or 'workflow' if the source is a workflow input.",
                                                        "type": "string"
                                                      }
                                                    },
                                                    "type": "object"
                                                  },
                                                  "required": {
                                                    "additionalProperties": false,
                                                    "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                    "properties": {
                                                      "always": {
                                                        "description": "Whether the input is always required",
                                                        "type": "boolean"
                                                      },
                                                      "conditional": {
                                                        "additionalProperties": false,
                                                        "description": "Makes this input required when other inputs have one of the listed values",
                                                        "properties": {
                                                          "operator": {
                                                            "default": "and",
                                                            "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                            "enum": [
                                                              "and",
                                                              "or"
                                                            ],
                                                            "type": "string"
                                                          },
                                                          "values": {
                                                            "additionalProperties": false,
                                                            "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                            "type": "object"
                                                          }
                                                        },
                                                        "required": [
                                                          "values"
                                                        ],
                                                        "type": "object"
                                                      },
                                                      "ifDefined": {
                                                        "additionalProperties": false,
                                                        "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                        "type": "object"
                                                      },
                                                      "ifNotDefined": {
                                                        "additionalProperties": false,
                                                        "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                        "type": "object"
                                                      }
                                                    },
                                                    "type": "object"
                                                  },
                                                  "step": {
                                                    "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                    "minimum": 1,
                                                    "type": "number"
                                                  },
                                                  "type": {
                                                    "description": "The data type of the input",
                                                    "enum": [
                                                      "boolean",
                                                      "file",
                                                      "file_array",
                                                      "inputs_array",
                                                      "model",
                                                      "model_array",
                                                      "number",
                                                      "number_array",
                                                      "string",
                                                      "string_array"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "value": {
                                                    "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                  }
                                                },
                                                "required": [
                                                  "name",
                                                  "type"
                                                ],
                                                "type": "object"
                                              },
                                              "type": "array"
                                            },
                                            "type": "array"
                                          },
                                          "kind": {
                                            "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                            "enum": [
                                              "3d",
                                              "audio",
                                              "document",
                                              "image",
                                              "image-hdr",
                                              "json",
                                              "text",
                                              "video"
                                            ],
                                            "type": "string"
                                          },
                                          "label": {
                                            "description": "The label displayed in the UI for this input",
                                            "type": "string"
                                          },
                                          "maskFrom": {
                                            "description": "The name of the file input field to use as the mask source",
                                            "type": "string"
                                          },
                                          "max": {
                                            "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                            "type": "number"
                                          },
                                          "maxDuration": {
                                            "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                            "type": "number"
                                          },
                                          "maxLength": {
                                            "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                            "type": "number"
                                          },
                                          "maxSize": {
                                            "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                            "type": "number"
                                          },
                                          "min": {
                                            "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                            "type": "number"
                                          },
                                          "minDuration": {
                                            "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                            "type": "number"
                                          },
                                          "minLength": {
                                            "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                            "type": "number"
                                          },
                                          "modelTypes": {
                                            "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                            "items": {
                                              "enum": [
                                                "custom",
                                                "elevenlabs-voice",
                                                "flux.1",
                                                "flux.1-composition",
                                                "flux.1-kontext-dev",
                                                "flux.1-kontext-lora",
                                                "flux.1-krea-dev",
                                                "flux.1-krea-lora",
                                                "flux.1-lora",
                                                "flux.1-pro",
                                                "flux.1.1-pro-ultra",
                                                "flux.2-dev-edit-lora",
                                                "flux.2-dev-lora",
                                                "flux.2-klein-4b-edit-lora",
                                                "flux.2-klein-4b-lora",
                                                "flux.2-klein-9b-edit-lora",
                                                "flux.2-klein-9b-lora",
                                                "flux.2-klein-base-4b-edit-lora",
                                                "flux.2-klein-base-4b-lora",
                                                "flux.2-klein-base-9b-edit-lora",
                                                "flux.2-klein-base-9b-lora",
                                                "flux1.1-pro",
                                                "gpt-image-1",
                                                "qwen-image-2512-lora",
                                                "qwen-image-edit-2509-lora",
                                                "qwen-image-edit-2511-lora",
                                                "qwen-image-edit-lora",
                                                "qwen-image-lora",
                                                "zimage-de-turbo-lora",
                                                "zimage-lora",
                                                "zimage-turbo-lora"
                                              ],
                                              "type": "string"
                                            },
                                            "type": "array"
                                          },
                                          "name": {
                                            "description": "The name that must be user to call the model through the API",
                                            "type": "string"
                                          },
                                          "parent": {
                                            "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                            "type": "boolean"
                                          },
                                          "placeholder": {
                                            "description": "Placeholder text for the input. Only available for 'string' input type.",
                                            "type": "string"
                                          },
                                          "prompt": {
                                            "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                            "type": "boolean"
                                          },
                                          "promptSpark": {
                                            "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                            "type": "boolean"
                                          },
                                          "ref": {
                                            "additionalProperties": false,
                                            "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                            "properties": {
                                              "conditional": {
                                                "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                "items": {
                                                  "type": "string"
                                                },
                                                "type": "array"
                                              },
                                              "equal": {
                                                "description": "This is the desired node output value if ref is an if/else node.",
                                                "type": "string"
                                              },
                                              "name": {
                                                "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                "type": "string"
                                              },
                                              "node": {
                                                "description": "The node id or 'workflow' if the source is a workflow input.",
                                                "type": "string"
                                              }
                                            },
                                            "type": "object"
                                          },
                                          "required": {
                                            "additionalProperties": false,
                                            "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                            "properties": {
                                              "always": {
                                                "description": "Whether the input is always required",
                                                "type": "boolean"
                                              },
                                              "conditional": {
                                                "additionalProperties": false,
                                                "description": "Makes this input required when other inputs have one of the listed values",
                                                "properties": {
                                                  "operator": {
                                                    "default": "and",
                                                    "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                    "enum": [
                                                      "and",
                                                      "or"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "values": {
                                                    "additionalProperties": false,
                                                    "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                    "type": "object"
                                                  }
                                                },
                                                "required": [
                                                  "values"
                                                ],
                                                "type": "object"
                                              },
                                              "ifDefined": {
                                                "additionalProperties": false,
                                                "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                "type": "object"
                                              },
                                              "ifNotDefined": {
                                                "additionalProperties": false,
                                                "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                "type": "object"
                                              }
                                            },
                                            "type": "object"
                                          },
                                          "step": {
                                            "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                            "minimum": 1,
                                            "type": "number"
                                          },
                                          "type": {
                                            "description": "The data type of the input",
                                            "enum": [
                                              "boolean",
                                              "file",
                                              "file_array",
                                              "inputs_array",
                                              "model",
                                              "model_array",
                                              "number",
                                              "number_array",
                                              "string",
                                              "string_array"
                                            ],
                                            "type": "string"
                                          },
                                          "value": {
                                            "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                          }
                                        },
                                        "required": [
                                          "name",
                                          "type"
                                        ],
                                        "type": "object"
                                      },
                                      "type": "array"
                                    },
                                    "items": {
                                      "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "iterationIndex": {
                                      "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                      "type": "number"
                                    },
                                    "jobId": {
                                      "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                      "type": "string"
                                    },
                                    "logic": {
                                      "additionalProperties": false,
                                      "description": "The logic of the node.\nOnly available for logic nodes.",
                                      "properties": {
                                        "cases": {
                                          "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                          "items": {
                                            "additionalProperties": false,
                                            "properties": {
                                              "condition": {
                                                "type": "string"
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "required": [
                                              "condition",
                                              "value"
                                            ],
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "default": {
                                          "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                          "type": "string"
                                        },
                                        "transform": {
                                          "description": "The transform of the logic.\nOnly available for transform nodes.",
                                          "type": "string"
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "logicType": {
                                      "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                      "enum": [
                                        "if-else"
                                      ],
                                      "type": "string"
                                    },
                                    "loopBodyNodeIds": {
                                      "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "loopNodeId": {
                                      "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                      "type": "string"
                                    },
                                    "modelId": {
                                      "description": "The model id for the node. Mainly used for custom model tasks.",
                                      "type": "string"
                                    },
                                    "output": {
                                      "description": "The output of the node.\nOnly available for logic nodes."
                                    },
                                    "status": {
                                      "description": "The status of the node. Only available for WorkflowJob nodes.",
                                      "enum": [
                                        "failure",
                                        "pending",
                                        "processing",
                                        "rejected",
                                        "skipped",
                                        "success"
                                      ],
                                      "type": "string"
                                    },
                                    "type": {
                                      "description": "The type of the job for the node.",
                                      "enum": [
                                        "custom-model",
                                        "for-each",
                                        "generate-prompt",
                                        "list",
                                        "logic",
                                        "model",
                                        "remove-background",
                                        "transform",
                                        "user-approval",
                                        "user-selection",
                                        "workflow"
                                      ],
                                      "type": "string"
                                    },
                                    "workflowId": {
                                      "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "status",
                                    "type"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "hint": {
                                "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                                "type": "string"
                              },
                              "input": {
                                "additionalProperties": true,
                                "description": "The inputs for the job",
                                "properties": {},
                                "type": "object"
                              },
                              "output": {
                                "additionalProperties": true,
                                "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                                "properties": {},
                                "type": "object"
                              },
                              "outputModelId": {
                                "description": "For voice-clone jobs: the ID of the model being trained.",
                                "type": "string"
                              },
                              "workflowId": {
                                "description": "The workflow ID of the job if job is part of a workflow.",
                                "type": "string"
                              },
                              "workflowJobId": {
                                "description": "The workflow job ID of the job if job is part of a workflow job.",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "ownerId": {
                            "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                            "type": "string"
                          },
                          "progress": {
                            "description": "Progress of the job (between 0 and 1)",
                            "type": "number"
                          },
                          "status": {
                            "description": "The current status of the job",
                            "enum": [
                              "canceled",
                              "failure",
                              "finalizing",
                              "in-progress",
                              "pending",
                              "queued",
                              "success",
                              "warming-up"
                            ],
                            "type": "string"
                          },
                          "statusHistory": {
                            "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "date": {
                                  "type": "string"
                                },
                                "status": {
                                  "enum": [
                                    "canceled",
                                    "failure",
                                    "finalizing",
                                    "in-progress",
                                    "pending",
                                    "queued",
                                    "success",
                                    "warming-up"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "date",
                                "status"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "taskId": {
                            "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                            "type": "string"
                          },
                          "updatedAt": {
                            "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                            "type": "string"
                          }
                        },
                        "required": [
                          "createdAt",
                          "jobId",
                          "jobType",
                          "metadata",
                          "progress",
                          "status",
                          "statusHistory",
                          "updatedAt"
                        ],
                        "type": "object"
                      }
                    },
                    "nextPaginationToken": {
                      "type": "string",
                      "description": "A token to query the next page of jobs"
                    }
                  },
                  "required": [
                    "jobs"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/workflows": {
      "get": {
        "operationId": "GetWorkflows",
        "description": "List workflows",
        "tags": [
          "Workflows"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "The number of items to return in the response. The default value is 50, maximum value is 100, minimum value is 1",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 50
            }
          },
          {
            "name": "paginationToken",
            "in": "query",
            "required": false,
            "description": "A token you received in a previous request to query the next page of items",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "privacy",
            "in": "query",
            "required": false,
            "description": "The privacy of the workflows to return. The default value is `private`, possible values are `private`, `public` and `unlisted`. Default value is `private`.",
            "schema": {
              "type": "string",
              "enum": [
                "public",
                "private",
                "unlisted"
              ]
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "The status of the workflows to return. Only available when privacy=private/unlisted. Default undefined value returns all statuses for private, `ready` for public.",
            "schema": {
              "type": "string",
              "enum": [
                "draft",
                "ready"
              ]
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "description": "The tags of the workflows to return, separated by commas. Example: `tag1,tag2,tag3` or `tag1`. Optional.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Sort direction applied to `updatedAt`: `asc` or `desc` (default `desc`). Public listings are always ordered by `updatedAt`. Private listings honor it only when a `status` is provided; without a `status` this parameter is ignored.",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            }
          },
          {
            "name": "full",
            "in": "query",
            "required": false,
            "description": "Whether to return the complete workflow (default `true`). Set it to `false` to omit `flow` and `editorInfo`, the two heaviest fields, and keep a large page under the response size limit; `hasFlow` then tells you which workflows have a flow to fetch from `GET /v1/workflows/{workflowId}`. Ignored for public listings, which never return either field.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Returns a paginated list of workflows. Supports both public access (via the `Authorization` header set to `public-auth-token`) and authenticated user access (including API keys). Public responses exclude some attributes.",
                  "properties": {
                    "workflows": {
                      "type": "array",
                      "items": {
                        "additionalProperties": false,
                        "description": "A workflow as returned by `GET /v1/workflows`, where the caller can trade the\ntwo heaviest fields away to keep a large page under the response size limit.",
                        "properties": {
                          "after": {
                            "additionalProperties": false,
                            "description": "A representation of an asset after being processed by the workflow",
                            "properties": {
                              "assetId": {
                                "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "url": {
                                "description": "The url of the image used as a thumbnail for your model",
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "authorId": {
                            "description": "User that created the workflow.",
                            "type": "string"
                          },
                          "before": {
                            "additionalProperties": false,
                            "description": "A representation of an asset before being processed by the workflow",
                            "properties": {
                              "assetId": {
                                "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                                "type": "string"
                              },
                              "url": {
                                "description": "The url of the image used as a thumbnail for your model",
                                "type": "string"
                              }
                            },
                            "required": [
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "createdAt": {
                            "description": "ISO string",
                            "type": "string"
                          },
                          "description": {
                            "description": "Full description of what the workflow does.",
                            "type": "string"
                          },
                          "editorInfo": {
                            "additionalProperties": true,
                            "description": "The UI data about the workflow. This is managed by scenario webapp. Omitted\nwhen the listing is requested with `full=false`.",
                            "properties": {},
                            "type": "object"
                          },
                          "embedding": {
                            "additionalProperties": false,
                            "description": "Embedding is a map of embedding version into embedding date",
                            "type": "object"
                          },
                          "flow": {
                            "description": "The flow of the workflow. Omitted when the listing is requested with\n`full=false`; read `hasFlow` to know whether there is a flow to fetch.",
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "count": {
                                  "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                  "type": "number"
                                },
                                "dependsOn": {
                                  "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "id": {
                                  "description": "The id of the node.",
                                  "type": "string"
                                },
                                "includeOutputsInWorkflowJob": {
                                  "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                  "enum": [
                                    true
                                  ],
                                  "type": "boolean"
                                },
                                "inputs": {
                                  "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                  "items": {
                                    "additionalProperties": false,
                                    "description": "This is used to run the flow.",
                                    "properties": {
                                      "allowedValues": {
                                        "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                        "items": {},
                                        "type": "array"
                                      },
                                      "backgroundBehavior": {
                                        "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                        "enum": [
                                          "opaque",
                                          "transparent"
                                        ],
                                        "type": "string"
                                      },
                                      "color": {
                                        "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                        "type": "boolean"
                                      },
                                      "costImpact": {
                                        "description": "Whether this input affects the model's cost calculation",
                                        "type": "boolean"
                                      },
                                      "default": {
                                        "description": "The default value for the input"
                                      },
                                      "description": {
                                        "description": "Help text displayed in the UI to provide additional information about the input",
                                        "type": "string"
                                      },
                                      "group": {
                                        "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                        "type": "string"
                                      },
                                      "hint": {
                                        "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                        "type": "string"
                                      },
                                      "inputs": {
                                        "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                        "items": {
                                          "additionalProperties": true,
                                          "properties": {},
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "items": {
                                        "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                        "items": {
                                          "items": {
                                            "additionalProperties": false,
                                            "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                            "properties": {
                                              "allowedValues": {
                                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                "items": {},
                                                "type": "array"
                                              },
                                              "backgroundBehavior": {
                                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                "enum": [
                                                  "opaque",
                                                  "transparent"
                                                ],
                                                "type": "string"
                                              },
                                              "color": {
                                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                "type": "boolean"
                                              },
                                              "costImpact": {
                                                "description": "Whether this input affects the model's cost calculation",
                                                "type": "boolean"
                                              },
                                              "default": {
                                                "description": "The default value for the input"
                                              },
                                              "description": {
                                                "description": "Help text displayed in the UI to provide additional information about the input",
                                                "type": "string"
                                              },
                                              "group": {
                                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                "type": "string"
                                              },
                                              "hint": {
                                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                "type": "string"
                                              },
                                              "inputs": {
                                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                "items": {
                                                  "additionalProperties": true,
                                                  "properties": {},
                                                  "type": "object"
                                                },
                                                "type": "array"
                                              },
                                              "kind": {
                                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                "enum": [
                                                  "3d",
                                                  "audio",
                                                  "document",
                                                  "image",
                                                  "image-hdr",
                                                  "json",
                                                  "text",
                                                  "video"
                                                ],
                                                "type": "string"
                                              },
                                              "label": {
                                                "description": "The label displayed in the UI for this input",
                                                "type": "string"
                                              },
                                              "maskFrom": {
                                                "description": "The name of the file input field to use as the mask source",
                                                "type": "string"
                                              },
                                              "max": {
                                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                "type": "number"
                                              },
                                              "maxDuration": {
                                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                "type": "number"
                                              },
                                              "maxLength": {
                                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                "type": "number"
                                              },
                                              "maxSize": {
                                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                "type": "number"
                                              },
                                              "min": {
                                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                "type": "number"
                                              },
                                              "minDuration": {
                                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                "type": "number"
                                              },
                                              "minLength": {
                                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                "type": "number"
                                              },
                                              "modelTypes": {
                                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                "items": {
                                                  "enum": [
                                                    "custom",
                                                    "elevenlabs-voice",
                                                    "flux.1",
                                                    "flux.1-composition",
                                                    "flux.1-kontext-dev",
                                                    "flux.1-kontext-lora",
                                                    "flux.1-krea-dev",
                                                    "flux.1-krea-lora",
                                                    "flux.1-lora",
                                                    "flux.1-pro",
                                                    "flux.1.1-pro-ultra",
                                                    "flux.2-dev-edit-lora",
                                                    "flux.2-dev-lora",
                                                    "flux.2-klein-4b-edit-lora",
                                                    "flux.2-klein-4b-lora",
                                                    "flux.2-klein-9b-edit-lora",
                                                    "flux.2-klein-9b-lora",
                                                    "flux.2-klein-base-4b-edit-lora",
                                                    "flux.2-klein-base-4b-lora",
                                                    "flux.2-klein-base-9b-edit-lora",
                                                    "flux.2-klein-base-9b-lora",
                                                    "flux1.1-pro",
                                                    "gpt-image-1",
                                                    "qwen-image-2512-lora",
                                                    "qwen-image-edit-2509-lora",
                                                    "qwen-image-edit-2511-lora",
                                                    "qwen-image-edit-lora",
                                                    "qwen-image-lora",
                                                    "zimage-de-turbo-lora",
                                                    "zimage-lora",
                                                    "zimage-turbo-lora"
                                                  ],
                                                  "type": "string"
                                                },
                                                "type": "array"
                                              },
                                              "name": {
                                                "description": "The name that must be user to call the model through the API",
                                                "type": "string"
                                              },
                                              "parent": {
                                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                "type": "boolean"
                                              },
                                              "placeholder": {
                                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                "type": "string"
                                              },
                                              "prompt": {
                                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                "type": "boolean"
                                              },
                                              "promptSpark": {
                                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                "type": "boolean"
                                              },
                                              "ref": {
                                                "additionalProperties": false,
                                                "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                "properties": {
                                                  "conditional": {
                                                    "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                    "items": {
                                                      "type": "string"
                                                    },
                                                    "type": "array"
                                                  },
                                                  "equal": {
                                                    "description": "This is the desired node output value if ref is an if/else node.",
                                                    "type": "string"
                                                  },
                                                  "name": {
                                                    "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                    "type": "string"
                                                  },
                                                  "node": {
                                                    "description": "The node id or 'workflow' if the source is a workflow input.",
                                                    "type": "string"
                                                  }
                                                },
                                                "type": "object"
                                              },
                                              "required": {
                                                "additionalProperties": false,
                                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                "properties": {
                                                  "always": {
                                                    "description": "Whether the input is always required",
                                                    "type": "boolean"
                                                  },
                                                  "conditional": {
                                                    "additionalProperties": false,
                                                    "description": "Makes this input required when other inputs have one of the listed values",
                                                    "properties": {
                                                      "operator": {
                                                        "default": "and",
                                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                        "enum": [
                                                          "and",
                                                          "or"
                                                        ],
                                                        "type": "string"
                                                      },
                                                      "values": {
                                                        "additionalProperties": false,
                                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                        "type": "object"
                                                      }
                                                    },
                                                    "required": [
                                                      "values"
                                                    ],
                                                    "type": "object"
                                                  },
                                                  "ifDefined": {
                                                    "additionalProperties": false,
                                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                    "type": "object"
                                                  },
                                                  "ifNotDefined": {
                                                    "additionalProperties": false,
                                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                    "type": "object"
                                                  }
                                                },
                                                "type": "object"
                                              },
                                              "step": {
                                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                "minimum": 1,
                                                "type": "number"
                                              },
                                              "type": {
                                                "description": "The data type of the input",
                                                "enum": [
                                                  "boolean",
                                                  "file",
                                                  "file_array",
                                                  "inputs_array",
                                                  "model",
                                                  "model_array",
                                                  "number",
                                                  "number_array",
                                                  "string",
                                                  "string_array"
                                                ],
                                                "type": "string"
                                              },
                                              "value": {
                                                "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                              }
                                            },
                                            "required": [
                                              "name",
                                              "type"
                                            ],
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "type": "array"
                                      },
                                      "kind": {
                                        "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                        "enum": [
                                          "3d",
                                          "audio",
                                          "document",
                                          "image",
                                          "image-hdr",
                                          "json",
                                          "text",
                                          "video"
                                        ],
                                        "type": "string"
                                      },
                                      "label": {
                                        "description": "The label displayed in the UI for this input",
                                        "type": "string"
                                      },
                                      "maskFrom": {
                                        "description": "The name of the file input field to use as the mask source",
                                        "type": "string"
                                      },
                                      "max": {
                                        "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                        "type": "number"
                                      },
                                      "maxDuration": {
                                        "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                        "type": "number"
                                      },
                                      "maxLength": {
                                        "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                        "type": "number"
                                      },
                                      "maxSize": {
                                        "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                        "type": "number"
                                      },
                                      "min": {
                                        "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                        "type": "number"
                                      },
                                      "minDuration": {
                                        "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                        "type": "number"
                                      },
                                      "minLength": {
                                        "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                        "type": "number"
                                      },
                                      "modelTypes": {
                                        "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                        "items": {
                                          "enum": [
                                            "custom",
                                            "elevenlabs-voice",
                                            "flux.1",
                                            "flux.1-composition",
                                            "flux.1-kontext-dev",
                                            "flux.1-kontext-lora",
                                            "flux.1-krea-dev",
                                            "flux.1-krea-lora",
                                            "flux.1-lora",
                                            "flux.1-pro",
                                            "flux.1.1-pro-ultra",
                                            "flux.2-dev-edit-lora",
                                            "flux.2-dev-lora",
                                            "flux.2-klein-4b-edit-lora",
                                            "flux.2-klein-4b-lora",
                                            "flux.2-klein-9b-edit-lora",
                                            "flux.2-klein-9b-lora",
                                            "flux.2-klein-base-4b-edit-lora",
                                            "flux.2-klein-base-4b-lora",
                                            "flux.2-klein-base-9b-edit-lora",
                                            "flux.2-klein-base-9b-lora",
                                            "flux1.1-pro",
                                            "gpt-image-1",
                                            "qwen-image-2512-lora",
                                            "qwen-image-edit-2509-lora",
                                            "qwen-image-edit-2511-lora",
                                            "qwen-image-edit-lora",
                                            "qwen-image-lora",
                                            "zimage-de-turbo-lora",
                                            "zimage-lora",
                                            "zimage-turbo-lora"
                                          ],
                                          "type": "string"
                                        },
                                        "type": "array"
                                      },
                                      "name": {
                                        "description": "The name that must be user to call the model through the API",
                                        "type": "string"
                                      },
                                      "parent": {
                                        "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                        "type": "boolean"
                                      },
                                      "placeholder": {
                                        "description": "Placeholder text for the input. Only available for 'string' input type.",
                                        "type": "string"
                                      },
                                      "prompt": {
                                        "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                        "type": "boolean"
                                      },
                                      "promptSpark": {
                                        "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                        "type": "boolean"
                                      },
                                      "ref": {
                                        "additionalProperties": false,
                                        "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                        "properties": {
                                          "conditional": {
                                            "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          },
                                          "equal": {
                                            "description": "This is the desired node output value if ref is an if/else node.",
                                            "type": "string"
                                          },
                                          "name": {
                                            "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                            "type": "string"
                                          },
                                          "node": {
                                            "description": "The node id or 'workflow' if the source is a workflow input.",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "required": {
                                        "additionalProperties": false,
                                        "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                        "properties": {
                                          "always": {
                                            "description": "Whether the input is always required",
                                            "type": "boolean"
                                          },
                                          "conditional": {
                                            "additionalProperties": false,
                                            "description": "Makes this input required when other inputs have one of the listed values",
                                            "properties": {
                                              "operator": {
                                                "default": "and",
                                                "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                "enum": [
                                                  "and",
                                                  "or"
                                                ],
                                                "type": "string"
                                              },
                                              "values": {
                                                "additionalProperties": false,
                                                "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                "type": "object"
                                              }
                                            },
                                            "required": [
                                              "values"
                                            ],
                                            "type": "object"
                                          },
                                          "ifDefined": {
                                            "additionalProperties": false,
                                            "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                            "type": "object"
                                          },
                                          "ifNotDefined": {
                                            "additionalProperties": false,
                                            "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                            "type": "object"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "step": {
                                        "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                        "minimum": 1,
                                        "type": "number"
                                      },
                                      "type": {
                                        "description": "The data type of the input",
                                        "enum": [
                                          "boolean",
                                          "file",
                                          "file_array",
                                          "inputs_array",
                                          "model",
                                          "model_array",
                                          "number",
                                          "number_array",
                                          "string",
                                          "string_array"
                                        ],
                                        "type": "string"
                                      },
                                      "value": {
                                        "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                      }
                                    },
                                    "required": [
                                      "name",
                                      "type"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "items": {
                                  "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "iterationIndex": {
                                  "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                  "type": "number"
                                },
                                "logic": {
                                  "additionalProperties": false,
                                  "description": "The logic of the node.\nOnly available for logic nodes.",
                                  "properties": {
                                    "cases": {
                                      "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                      "items": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "condition": {
                                            "type": "string"
                                          },
                                          "value": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "condition",
                                          "value"
                                        ],
                                        "type": "object"
                                      },
                                      "type": "array"
                                    },
                                    "default": {
                                      "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                      "type": "string"
                                    },
                                    "transform": {
                                      "description": "The transform of the logic.\nOnly available for transform nodes.",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                },
                                "logicType": {
                                  "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                  "enum": [
                                    "if-else"
                                  ],
                                  "type": "string"
                                },
                                "loopBodyNodeIds": {
                                  "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "loopNodeId": {
                                  "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                  "type": "string"
                                },
                                "modelId": {
                                  "description": "The model id for the node. Mainly used for custom model tasks.",
                                  "type": "string"
                                },
                                "type": {
                                  "description": "The type of the job for the node.",
                                  "enum": [
                                    "custom-model",
                                    "for-each",
                                    "generate-prompt",
                                    "list",
                                    "logic",
                                    "model",
                                    "remove-background",
                                    "transform",
                                    "user-approval",
                                    "user-selection",
                                    "workflow"
                                  ],
                                  "type": "string"
                                },
                                "workflowId": {
                                  "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "id",
                                "type"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "hasFlow": {
                            "description": "Whether the workflow has a non-empty flow. Present even when `flow` itself\nis not, so an empty workflow can be told apart from a populated one.",
                            "type": "boolean"
                          },
                          "id": {
                            "description": "Unique identifier of the workflow.",
                            "type": "string"
                          },
                          "inputs": {
                            "description": "The inputs of the workflow.",
                            "items": {
                              "additionalProperties": false,
                              "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                              "properties": {
                                "allowedValues": {
                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                  "items": {},
                                  "type": "array"
                                },
                                "backgroundBehavior": {
                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                  "enum": [
                                    "opaque",
                                    "transparent"
                                  ],
                                  "type": "string"
                                },
                                "color": {
                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                  "type": "boolean"
                                },
                                "costImpact": {
                                  "description": "Whether this input affects the model's cost calculation",
                                  "type": "boolean"
                                },
                                "default": {
                                  "description": "The default value for the input"
                                },
                                "description": {
                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                  "type": "string"
                                },
                                "group": {
                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                  "type": "string"
                                },
                                "hint": {
                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                  "type": "string"
                                },
                                "inputs": {
                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                  "items": {
                                    "additionalProperties": true,
                                    "properties": {},
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "kind": {
                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                  "enum": [
                                    "3d",
                                    "audio",
                                    "document",
                                    "image",
                                    "image-hdr",
                                    "json",
                                    "text",
                                    "video"
                                  ],
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label displayed in the UI for this input",
                                  "type": "string"
                                },
                                "maskFrom": {
                                  "description": "The name of the file input field to use as the mask source",
                                  "type": "string"
                                },
                                "max": {
                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                  "type": "number"
                                },
                                "maxDuration": {
                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                  "type": "number"
                                },
                                "maxLength": {
                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                  "type": "number"
                                },
                                "maxSize": {
                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                  "type": "number"
                                },
                                "min": {
                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                  "type": "number"
                                },
                                "minDuration": {
                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                  "type": "number"
                                },
                                "minLength": {
                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                  "type": "number"
                                },
                                "modelTypes": {
                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                  "items": {
                                    "enum": [
                                      "custom",
                                      "elevenlabs-voice",
                                      "flux.1",
                                      "flux.1-composition",
                                      "flux.1-kontext-dev",
                                      "flux.1-kontext-lora",
                                      "flux.1-krea-dev",
                                      "flux.1-krea-lora",
                                      "flux.1-lora",
                                      "flux.1-pro",
                                      "flux.1.1-pro-ultra",
                                      "flux.2-dev-edit-lora",
                                      "flux.2-dev-lora",
                                      "flux.2-klein-4b-edit-lora",
                                      "flux.2-klein-4b-lora",
                                      "flux.2-klein-9b-edit-lora",
                                      "flux.2-klein-9b-lora",
                                      "flux.2-klein-base-4b-edit-lora",
                                      "flux.2-klein-base-4b-lora",
                                      "flux.2-klein-base-9b-edit-lora",
                                      "flux.2-klein-base-9b-lora",
                                      "flux1.1-pro",
                                      "gpt-image-1",
                                      "qwen-image-2512-lora",
                                      "qwen-image-edit-2509-lora",
                                      "qwen-image-edit-2511-lora",
                                      "qwen-image-edit-lora",
                                      "qwen-image-lora",
                                      "zimage-de-turbo-lora",
                                      "zimage-lora",
                                      "zimage-turbo-lora"
                                    ],
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "name": {
                                  "description": "The name that must be user to call the model through the API",
                                  "type": "string"
                                },
                                "parent": {
                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                  "type": "boolean"
                                },
                                "placeholder": {
                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                  "type": "string"
                                },
                                "prompt": {
                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                  "type": "boolean"
                                },
                                "promptSpark": {
                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                  "type": "boolean"
                                },
                                "required": {
                                  "additionalProperties": false,
                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                  "properties": {
                                    "always": {
                                      "description": "Whether the input is always required",
                                      "type": "boolean"
                                    },
                                    "conditional": {
                                      "additionalProperties": false,
                                      "description": "Makes this input required when other inputs have one of the listed values",
                                      "properties": {
                                        "operator": {
                                          "default": "and",
                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                          "enum": [
                                            "and",
                                            "or"
                                          ],
                                          "type": "string"
                                        },
                                        "values": {
                                          "additionalProperties": false,
                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                          "type": "object"
                                        }
                                      },
                                      "required": [
                                        "values"
                                      ],
                                      "type": "object"
                                    },
                                    "ifDefined": {
                                      "additionalProperties": false,
                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                      "type": "object"
                                    },
                                    "ifNotDefined": {
                                      "additionalProperties": false,
                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                      "type": "object"
                                    }
                                  },
                                  "type": "object"
                                },
                                "step": {
                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                  "minimum": 1,
                                  "type": "number"
                                },
                                "type": {
                                  "description": "The data type of the input",
                                  "enum": [
                                    "boolean",
                                    "file",
                                    "file_array",
                                    "inputs_array",
                                    "model",
                                    "model_array",
                                    "number",
                                    "number_array",
                                    "string",
                                    "string_array"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "name",
                                "type"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "isLocked": {
                            "default": false,
                            "description": "Whether the workflow is locked. Locked workflows cannot be modified or deleted\nexcept by the author or a project admin.",
                            "type": "boolean"
                          },
                          "lastIndexedAt": {
                            "format": "date-time",
                            "type": "string"
                          },
                          "lastIndexingType": {
                            "description": "The type of indexing operation to perform in MeiliSearch",
                            "enum": [
                              "CREATE",
                              "DELETE",
                              "UPDATE"
                            ],
                            "type": "string"
                          },
                          "lastReadyFlowUpdatedAt": {
                            "description": "Timestamp when the workflow flow was last saved as a Ready (App) snapshot.\nUsed to compute the WorkflowNodes snapshot key.\nOnly set for workflows that have been in the Ready state.",
                            "format": "date-time",
                            "type": "string"
                          },
                          "lockedStateChangedAt": {
                            "description": "ISO string timestamp when lock state was last changed.",
                            "type": "string"
                          },
                          "lockedStateChangedBy": {
                            "description": "UserId of the user who last changed the lock state.",
                            "type": "string"
                          },
                          "name": {
                            "description": "Human-readable name of the workflow.",
                            "type": "string"
                          },
                          "outputAssetKinds": {
                            "description": "Asset kinds produced by this workflow (if specified).",
                            "items": {
                              "enum": [
                                "3d",
                                "audio",
                                "document",
                                "image",
                                "image-hdr",
                                "json",
                                "text",
                                "video"
                              ],
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "ownerId": {
                            "description": "Project that owns the workflow.",
                            "type": "string"
                          },
                          "privacy": {
                            "description": "Visibility setting for the workflow.",
                            "enum": [
                              "private",
                              "public",
                              "unlisted"
                            ],
                            "type": "string"
                          },
                          "shortDescription": {
                            "description": "Short summary of the workflow.",
                            "type": "string"
                          },
                          "status": {
                            "description": "Current lifecycle status (draft, ready, deleted).",
                            "enum": [
                              "deleted",
                              "draft",
                              "ready"
                            ],
                            "type": "string"
                          },
                          "tagSet": {
                            "description": "The tag set of the workflow.",
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "thumbnail": {
                            "additionalProperties": false,
                            "description": "Optional thumbnail asset for listing/display.\nCurrently the thumbnail is identical to the after asset.",
                            "properties": {
                              "__brand": {
                                "enum": [
                                  "AssetId"
                                ],
                                "type": "string"
                              },
                              "assetId": {
                                "type": "string"
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "__brand",
                              "assetId",
                              "url"
                            ],
                            "type": "object"
                          },
                          "uiConfig": {
                            "additionalProperties": false,
                            "description": "UI configuration for custom workflows input display configuration.\nThe UI configuration for the workflow. This is managed by scenario webapp.",
                            "properties": {
                              "inputProperties": {
                                "additionalProperties": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "collapsed": {
                                      "type": "boolean"
                                    }
                                  },
                                  "type": "object"
                                },
                                "description": "Configuration for the input properties",
                                "type": "object"
                              },
                              "lorasComponent": {
                                "additionalProperties": false,
                                "description": "Configuration for the loras component",
                                "properties": {
                                  "label": {
                                    "description": "The label of the component",
                                    "type": "string"
                                  },
                                  "modelIdInput": {
                                    "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                    "type": "string"
                                  },
                                  "modelInput": {
                                    "description": "The input name of the model (model_array)",
                                    "type": "string"
                                  },
                                  "scaleInput": {
                                    "description": "The input name of the scale (number_array)",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label",
                                  "modelInput",
                                  "scaleInput"
                                ],
                                "type": "object"
                              },
                              "outputProperties": {
                                "additionalProperties": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "label": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "label"
                                  ],
                                  "type": "object"
                                },
                                "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                                "type": "object"
                              },
                              "presets": {
                                "description": "Configuration for the presets",
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "fields": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "presets": {
                                      "additionalProperties": false,
                                      "type": "object"
                                    }
                                  },
                                  "required": [
                                    "fields",
                                    "presets"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "resolutionComponent": {
                                "additionalProperties": false,
                                "description": "Configuration for the resolution component",
                                "properties": {
                                  "heightInput": {
                                    "description": "The input name of the height",
                                    "type": "string"
                                  },
                                  "label": {
                                    "description": "The label of the component",
                                    "type": "string"
                                  },
                                  "presets": {
                                    "description": "The resolution presets",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "height": {
                                          "type": "number"
                                        },
                                        "label": {
                                          "type": "string"
                                        },
                                        "width": {
                                          "type": "number"
                                        }
                                      },
                                      "required": [
                                        "height",
                                        "label",
                                        "width"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "widthInput": {
                                    "description": "The input name of the width",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "heightInput",
                                  "label",
                                  "presets",
                                  "widthInput"
                                ],
                                "type": "object"
                              },
                              "selects": {
                                "additionalProperties": {
                                  "additionalProperties": false,
                                  "type": "object"
                                },
                                "description": "Configuration for the selects",
                                "type": "object"
                              },
                              "triggerGenerate": {
                                "additionalProperties": false,
                                "description": "Configuration for the trigger generate button",
                                "properties": {
                                  "after": {
                                    "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                    "type": "string"
                                  },
                                  "label": {
                                    "type": "string"
                                  },
                                  "position": {
                                    "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                    "enum": [
                                      "bottom",
                                      "top"
                                    ],
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              }
                            },
                            "type": "object"
                          },
                          "updatedAt": {
                            "description": "ISO string",
                            "type": "string"
                          }
                        },
                        "required": [
                          "authorId",
                          "createdAt",
                          "description",
                          "hasFlow",
                          "id",
                          "inputs",
                          "name",
                          "ownerId",
                          "privacy",
                          "shortDescription",
                          "status",
                          "tagSet",
                          "updatedAt"
                        ],
                        "type": "object"
                      }
                    },
                    "nextPaginationToken": {
                      "type": "string",
                      "description": "A token to query the next page of workflows"
                    }
                  },
                  "required": [
                    "workflows"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "post": {
        "operationId": "PostWorkflows",
        "description": "Create workflow",
        "tags": [
          "Workflows"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "workflow": {
                      "additionalProperties": false,
                      "properties": {
                        "after": {
                          "additionalProperties": false,
                          "description": "A representation of an asset after being processed by the workflow",
                          "properties": {
                            "assetId": {
                              "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                              "type": "string"
                            },
                            "url": {
                              "description": "The url of the image used as a thumbnail for your model",
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "authorId": {
                          "description": "User that created the workflow.",
                          "type": "string"
                        },
                        "before": {
                          "additionalProperties": false,
                          "description": "A representation of an asset before being processed by the workflow",
                          "properties": {
                            "assetId": {
                              "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                              "type": "string"
                            },
                            "url": {
                              "description": "The url of the image used as a thumbnail for your model",
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "ISO string",
                          "type": "string"
                        },
                        "description": {
                          "description": "Full description of what the workflow does.",
                          "type": "string"
                        },
                        "editorInfo": {
                          "additionalProperties": true,
                          "description": "The UI data about the workflow. This is managed by scenario webapp.",
                          "properties": {},
                          "type": "object"
                        },
                        "embedding": {
                          "additionalProperties": false,
                          "description": "Embedding is a map of embedding version into embedding date",
                          "type": "object"
                        },
                        "flow": {
                          "description": "The flow of the workflow.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "count": {
                                "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                "type": "number"
                              },
                              "dependsOn": {
                                "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "id": {
                                "description": "The id of the node.",
                                "type": "string"
                              },
                              "includeOutputsInWorkflowJob": {
                                "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                "enum": [
                                  true
                                ],
                                "type": "boolean"
                              },
                              "inputs": {
                                "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "This is used to run the flow.",
                                  "properties": {
                                    "allowedValues": {
                                      "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                      "items": {},
                                      "type": "array"
                                    },
                                    "backgroundBehavior": {
                                      "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                      "enum": [
                                        "opaque",
                                        "transparent"
                                      ],
                                      "type": "string"
                                    },
                                    "color": {
                                      "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                      "type": "boolean"
                                    },
                                    "costImpact": {
                                      "description": "Whether this input affects the model's cost calculation",
                                      "type": "boolean"
                                    },
                                    "default": {
                                      "description": "The default value for the input"
                                    },
                                    "description": {
                                      "description": "Help text displayed in the UI to provide additional information about the input",
                                      "type": "string"
                                    },
                                    "group": {
                                      "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                      "type": "string"
                                    },
                                    "hint": {
                                      "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                      "type": "string"
                                    },
                                    "inputs": {
                                      "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                      "items": {
                                        "additionalProperties": true,
                                        "properties": {},
                                        "type": "object"
                                      },
                                      "type": "array"
                                    },
                                    "items": {
                                      "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                      "items": {
                                        "items": {
                                          "additionalProperties": false,
                                          "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                          "properties": {
                                            "allowedValues": {
                                              "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                              "items": {},
                                              "type": "array"
                                            },
                                            "backgroundBehavior": {
                                              "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                              "enum": [
                                                "opaque",
                                                "transparent"
                                              ],
                                              "type": "string"
                                            },
                                            "color": {
                                              "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                              "type": "boolean"
                                            },
                                            "costImpact": {
                                              "description": "Whether this input affects the model's cost calculation",
                                              "type": "boolean"
                                            },
                                            "default": {
                                              "description": "The default value for the input"
                                            },
                                            "description": {
                                              "description": "Help text displayed in the UI to provide additional information about the input",
                                              "type": "string"
                                            },
                                            "group": {
                                              "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                              "type": "string"
                                            },
                                            "hint": {
                                              "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                              "type": "string"
                                            },
                                            "inputs": {
                                              "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                              "items": {
                                                "additionalProperties": true,
                                                "properties": {},
                                                "type": "object"
                                              },
                                              "type": "array"
                                            },
                                            "kind": {
                                              "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                              "enum": [
                                                "3d",
                                                "audio",
                                                "document",
                                                "image",
                                                "image-hdr",
                                                "json",
                                                "text",
                                                "video"
                                              ],
                                              "type": "string"
                                            },
                                            "label": {
                                              "description": "The label displayed in the UI for this input",
                                              "type": "string"
                                            },
                                            "maskFrom": {
                                              "description": "The name of the file input field to use as the mask source",
                                              "type": "string"
                                            },
                                            "max": {
                                              "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                              "type": "number"
                                            },
                                            "maxDuration": {
                                              "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                              "type": "number"
                                            },
                                            "maxLength": {
                                              "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                              "type": "number"
                                            },
                                            "maxSize": {
                                              "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                              "type": "number"
                                            },
                                            "min": {
                                              "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                              "type": "number"
                                            },
                                            "minDuration": {
                                              "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                              "type": "number"
                                            },
                                            "minLength": {
                                              "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                              "type": "number"
                                            },
                                            "modelTypes": {
                                              "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                              "items": {
                                                "enum": [
                                                  "custom",
                                                  "elevenlabs-voice",
                                                  "flux.1",
                                                  "flux.1-composition",
                                                  "flux.1-kontext-dev",
                                                  "flux.1-kontext-lora",
                                                  "flux.1-krea-dev",
                                                  "flux.1-krea-lora",
                                                  "flux.1-lora",
                                                  "flux.1-pro",
                                                  "flux.1.1-pro-ultra",
                                                  "flux.2-dev-edit-lora",
                                                  "flux.2-dev-lora",
                                                  "flux.2-klein-4b-edit-lora",
                                                  "flux.2-klein-4b-lora",
                                                  "flux.2-klein-9b-edit-lora",
                                                  "flux.2-klein-9b-lora",
                                                  "flux.2-klein-base-4b-edit-lora",
                                                  "flux.2-klein-base-4b-lora",
                                                  "flux.2-klein-base-9b-edit-lora",
                                                  "flux.2-klein-base-9b-lora",
                                                  "flux1.1-pro",
                                                  "gpt-image-1",
                                                  "qwen-image-2512-lora",
                                                  "qwen-image-edit-2509-lora",
                                                  "qwen-image-edit-2511-lora",
                                                  "qwen-image-edit-lora",
                                                  "qwen-image-lora",
                                                  "zimage-de-turbo-lora",
                                                  "zimage-lora",
                                                  "zimage-turbo-lora"
                                                ],
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "name": {
                                              "description": "The name that must be user to call the model through the API",
                                              "type": "string"
                                            },
                                            "parent": {
                                              "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                              "type": "boolean"
                                            },
                                            "placeholder": {
                                              "description": "Placeholder text for the input. Only available for 'string' input type.",
                                              "type": "string"
                                            },
                                            "prompt": {
                                              "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                              "type": "boolean"
                                            },
                                            "promptSpark": {
                                              "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                              "type": "boolean"
                                            },
                                            "ref": {
                                              "additionalProperties": false,
                                              "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                              "properties": {
                                                "conditional": {
                                                  "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "equal": {
                                                  "description": "This is the desired node output value if ref is an if/else node.",
                                                  "type": "string"
                                                },
                                                "name": {
                                                  "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                  "type": "string"
                                                },
                                                "node": {
                                                  "description": "The node id or 'workflow' if the source is a workflow input.",
                                                  "type": "string"
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "required": {
                                              "additionalProperties": false,
                                              "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                              "properties": {
                                                "always": {
                                                  "description": "Whether the input is always required",
                                                  "type": "boolean"
                                                },
                                                "conditional": {
                                                  "additionalProperties": false,
                                                  "description": "Makes this input required when other inputs have one of the listed values",
                                                  "properties": {
                                                    "operator": {
                                                      "default": "and",
                                                      "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                      "enum": [
                                                        "and",
                                                        "or"
                                                      ],
                                                      "type": "string"
                                                    },
                                                    "values": {
                                                      "additionalProperties": false,
                                                      "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "required": [
                                                    "values"
                                                  ],
                                                  "type": "object"
                                                },
                                                "ifDefined": {
                                                  "additionalProperties": false,
                                                  "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                  "type": "object"
                                                },
                                                "ifNotDefined": {
                                                  "additionalProperties": false,
                                                  "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                  "type": "object"
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "step": {
                                              "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                              "minimum": 1,
                                              "type": "number"
                                            },
                                            "type": {
                                              "description": "The data type of the input",
                                              "enum": [
                                                "boolean",
                                                "file",
                                                "file_array",
                                                "inputs_array",
                                                "model",
                                                "model_array",
                                                "number",
                                                "number_array",
                                                "string",
                                                "string_array"
                                              ],
                                              "type": "string"
                                            },
                                            "value": {
                                              "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "type"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "type": "array"
                                    },
                                    "kind": {
                                      "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                      "enum": [
                                        "3d",
                                        "audio",
                                        "document",
                                        "image",
                                        "image-hdr",
                                        "json",
                                        "text",
                                        "video"
                                      ],
                                      "type": "string"
                                    },
                                    "label": {
                                      "description": "The label displayed in the UI for this input",
                                      "type": "string"
                                    },
                                    "maskFrom": {
                                      "description": "The name of the file input field to use as the mask source",
                                      "type": "string"
                                    },
                                    "max": {
                                      "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                      "type": "number"
                                    },
                                    "maxDuration": {
                                      "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                      "type": "number"
                                    },
                                    "maxLength": {
                                      "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                      "type": "number"
                                    },
                                    "maxSize": {
                                      "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                      "type": "number"
                                    },
                                    "min": {
                                      "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                      "type": "number"
                                    },
                                    "minDuration": {
                                      "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                      "type": "number"
                                    },
                                    "minLength": {
                                      "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                      "type": "number"
                                    },
                                    "modelTypes": {
                                      "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                      "items": {
                                        "enum": [
                                          "custom",
                                          "elevenlabs-voice",
                                          "flux.1",
                                          "flux.1-composition",
                                          "flux.1-kontext-dev",
                                          "flux.1-kontext-lora",
                                          "flux.1-krea-dev",
                                          "flux.1-krea-lora",
                                          "flux.1-lora",
                                          "flux.1-pro",
                                          "flux.1.1-pro-ultra",
                                          "flux.2-dev-edit-lora",
                                          "flux.2-dev-lora",
                                          "flux.2-klein-4b-edit-lora",
                                          "flux.2-klein-4b-lora",
                                          "flux.2-klein-9b-edit-lora",
                                          "flux.2-klein-9b-lora",
                                          "flux.2-klein-base-4b-edit-lora",
                                          "flux.2-klein-base-4b-lora",
                                          "flux.2-klein-base-9b-edit-lora",
                                          "flux.2-klein-base-9b-lora",
                                          "flux1.1-pro",
                                          "gpt-image-1",
                                          "qwen-image-2512-lora",
                                          "qwen-image-edit-2509-lora",
                                          "qwen-image-edit-2511-lora",
                                          "qwen-image-edit-lora",
                                          "qwen-image-lora",
                                          "zimage-de-turbo-lora",
                                          "zimage-lora",
                                          "zimage-turbo-lora"
                                        ],
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "name": {
                                      "description": "The name that must be user to call the model through the API",
                                      "type": "string"
                                    },
                                    "parent": {
                                      "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                      "type": "boolean"
                                    },
                                    "placeholder": {
                                      "description": "Placeholder text for the input. Only available for 'string' input type.",
                                      "type": "string"
                                    },
                                    "prompt": {
                                      "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                      "type": "boolean"
                                    },
                                    "promptSpark": {
                                      "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                      "type": "boolean"
                                    },
                                    "ref": {
                                      "additionalProperties": false,
                                      "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                      "properties": {
                                        "conditional": {
                                          "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "equal": {
                                          "description": "This is the desired node output value if ref is an if/else node.",
                                          "type": "string"
                                        },
                                        "name": {
                                          "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                          "type": "string"
                                        },
                                        "node": {
                                          "description": "The node id or 'workflow' if the source is a workflow input.",
                                          "type": "string"
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "required": {
                                      "additionalProperties": false,
                                      "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                      "properties": {
                                        "always": {
                                          "description": "Whether the input is always required",
                                          "type": "boolean"
                                        },
                                        "conditional": {
                                          "additionalProperties": false,
                                          "description": "Makes this input required when other inputs have one of the listed values",
                                          "properties": {
                                            "operator": {
                                              "default": "and",
                                              "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                              "enum": [
                                                "and",
                                                "or"
                                              ],
                                              "type": "string"
                                            },
                                            "values": {
                                              "additionalProperties": false,
                                              "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                              "type": "object"
                                            }
                                          },
                                          "required": [
                                            "values"
                                          ],
                                          "type": "object"
                                        },
                                        "ifDefined": {
                                          "additionalProperties": false,
                                          "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                          "type": "object"
                                        },
                                        "ifNotDefined": {
                                          "additionalProperties": false,
                                          "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                          "type": "object"
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "step": {
                                      "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                      "minimum": 1,
                                      "type": "number"
                                    },
                                    "type": {
                                      "description": "The data type of the input",
                                      "enum": [
                                        "boolean",
                                        "file",
                                        "file_array",
                                        "inputs_array",
                                        "model",
                                        "model_array",
                                        "number",
                                        "number_array",
                                        "string",
                                        "string_array"
                                      ],
                                      "type": "string"
                                    },
                                    "value": {
                                      "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                    }
                                  },
                                  "required": [
                                    "name",
                                    "type"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "items": {
                                "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "iterationIndex": {
                                "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                "type": "number"
                              },
                              "logic": {
                                "additionalProperties": false,
                                "description": "The logic of the node.\nOnly available for logic nodes.",
                                "properties": {
                                  "cases": {
                                    "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "condition": {
                                          "type": "string"
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "condition",
                                        "value"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "default": {
                                    "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                    "type": "string"
                                  },
                                  "transform": {
                                    "description": "The transform of the logic.\nOnly available for transform nodes.",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "logicType": {
                                "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                "enum": [
                                  "if-else"
                                ],
                                "type": "string"
                              },
                              "loopBodyNodeIds": {
                                "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "loopNodeId": {
                                "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model id for the node. Mainly used for custom model tasks.",
                                "type": "string"
                              },
                              "type": {
                                "description": "The type of the job for the node.",
                                "enum": [
                                  "custom-model",
                                  "for-each",
                                  "generate-prompt",
                                  "list",
                                  "logic",
                                  "model",
                                  "remove-background",
                                  "transform",
                                  "user-approval",
                                  "user-selection",
                                  "workflow"
                                ],
                                "type": "string"
                              },
                              "workflowId": {
                                "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "id",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "hasFlow": {
                          "description": "Whether the workflow has a non-empty flow. Present even when `flow` itself\nis not, so an empty workflow can be told apart from a populated one.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "Unique identifier of the workflow.",
                          "type": "string"
                        },
                        "inputs": {
                          "description": "The inputs of the workflow.",
                          "items": {
                            "additionalProperties": false,
                            "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                            "properties": {
                              "allowedValues": {
                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                "items": {},
                                "type": "array"
                              },
                              "backgroundBehavior": {
                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                "enum": [
                                  "opaque",
                                  "transparent"
                                ],
                                "type": "string"
                              },
                              "color": {
                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "costImpact": {
                                "description": "Whether this input affects the model's cost calculation",
                                "type": "boolean"
                              },
                              "default": {
                                "description": "The default value for the input"
                              },
                              "description": {
                                "description": "Help text displayed in the UI to provide additional information about the input",
                                "type": "string"
                              },
                              "group": {
                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                "type": "string"
                              },
                              "hint": {
                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                "type": "string"
                              },
                              "inputs": {
                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                "items": {
                                  "additionalProperties": true,
                                  "properties": {},
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "kind": {
                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "label": {
                                "description": "The label displayed in the UI for this input",
                                "type": "string"
                              },
                              "maskFrom": {
                                "description": "The name of the file input field to use as the mask source",
                                "type": "string"
                              },
                              "max": {
                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                "type": "number"
                              },
                              "maxDuration": {
                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "maxLength": {
                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "maxSize": {
                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                "type": "number"
                              },
                              "min": {
                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                "type": "number"
                              },
                              "minDuration": {
                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "minLength": {
                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "modelTypes": {
                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                "items": {
                                  "enum": [
                                    "custom",
                                    "elevenlabs-voice",
                                    "flux.1",
                                    "flux.1-composition",
                                    "flux.1-kontext-dev",
                                    "flux.1-kontext-lora",
                                    "flux.1-krea-dev",
                                    "flux.1-krea-lora",
                                    "flux.1-lora",
                                    "flux.1-pro",
                                    "flux.1.1-pro-ultra",
                                    "flux.2-dev-edit-lora",
                                    "flux.2-dev-lora",
                                    "flux.2-klein-4b-edit-lora",
                                    "flux.2-klein-4b-lora",
                                    "flux.2-klein-9b-edit-lora",
                                    "flux.2-klein-9b-lora",
                                    "flux.2-klein-base-4b-edit-lora",
                                    "flux.2-klein-base-4b-lora",
                                    "flux.2-klein-base-9b-edit-lora",
                                    "flux.2-klein-base-9b-lora",
                                    "flux1.1-pro",
                                    "gpt-image-1",
                                    "qwen-image-2512-lora",
                                    "qwen-image-edit-2509-lora",
                                    "qwen-image-edit-2511-lora",
                                    "qwen-image-edit-lora",
                                    "qwen-image-lora",
                                    "zimage-de-turbo-lora",
                                    "zimage-lora",
                                    "zimage-turbo-lora"
                                  ],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "name": {
                                "description": "The name that must be user to call the model through the API",
                                "type": "string"
                              },
                              "parent": {
                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                "type": "boolean"
                              },
                              "placeholder": {
                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "promptSpark": {
                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "required": {
                                "additionalProperties": false,
                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                "properties": {
                                  "always": {
                                    "description": "Whether the input is always required",
                                    "type": "boolean"
                                  },
                                  "conditional": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when other inputs have one of the listed values",
                                    "properties": {
                                      "operator": {
                                        "default": "and",
                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                        "enum": [
                                          "and",
                                          "or"
                                        ],
                                        "type": "string"
                                      },
                                      "values": {
                                        "additionalProperties": false,
                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "values"
                                    ],
                                    "type": "object"
                                  },
                                  "ifDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  },
                                  "ifNotDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "step": {
                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                "minimum": 1,
                                "type": "number"
                              },
                              "type": {
                                "description": "The data type of the input",
                                "enum": [
                                  "boolean",
                                  "file",
                                  "file_array",
                                  "inputs_array",
                                  "model",
                                  "model_array",
                                  "number",
                                  "number_array",
                                  "string",
                                  "string_array"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "name",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "isLocked": {
                          "default": false,
                          "description": "Whether the workflow is locked. Locked workflows cannot be modified or deleted\nexcept by the author or a project admin.",
                          "type": "boolean"
                        },
                        "lastIndexedAt": {
                          "format": "date-time",
                          "type": "string"
                        },
                        "lastIndexingType": {
                          "description": "The type of indexing operation to perform in MeiliSearch",
                          "enum": [
                            "CREATE",
                            "DELETE",
                            "UPDATE"
                          ],
                          "type": "string"
                        },
                        "lastReadyFlowUpdatedAt": {
                          "description": "Timestamp when the workflow flow was last saved as a Ready (App) snapshot.\nUsed to compute the WorkflowNodes snapshot key.\nOnly set for workflows that have been in the Ready state.",
                          "format": "date-time",
                          "type": "string"
                        },
                        "lockedStateChangedAt": {
                          "description": "ISO string timestamp when lock state was last changed.",
                          "type": "string"
                        },
                        "lockedStateChangedBy": {
                          "description": "UserId of the user who last changed the lock state.",
                          "type": "string"
                        },
                        "name": {
                          "description": "Human-readable name of the workflow.",
                          "type": "string"
                        },
                        "outputAssetKinds": {
                          "description": "Asset kinds produced by this workflow (if specified).",
                          "items": {
                            "enum": [
                              "3d",
                              "audio",
                              "document",
                              "image",
                              "image-hdr",
                              "json",
                              "text",
                              "video"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "ownerId": {
                          "description": "Project that owns the workflow.",
                          "type": "string"
                        },
                        "privacy": {
                          "description": "Visibility setting for the workflow.",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "shortDescription": {
                          "description": "Short summary of the workflow.",
                          "type": "string"
                        },
                        "status": {
                          "description": "Current lifecycle status (draft, ready, deleted).",
                          "enum": [
                            "deleted",
                            "draft",
                            "ready"
                          ],
                          "type": "string"
                        },
                        "tagSet": {
                          "description": "The tag set of the workflow.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "Currently the thumbnail is identical to the after asset.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "uiConfig": {
                          "additionalProperties": false,
                          "description": "The UI configuration for the workflow. This is managed by scenario webapp.",
                          "properties": {
                            "inputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "collapsed": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object"
                              },
                              "description": "Configuration for the input properties",
                              "type": "object"
                            },
                            "lorasComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the loras component",
                              "properties": {
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "modelIdInput": {
                                  "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                  "type": "string"
                                },
                                "modelInput": {
                                  "description": "The input name of the model (model_array)",
                                  "type": "string"
                                },
                                "scaleInput": {
                                  "description": "The input name of the scale (number_array)",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label",
                                "modelInput",
                                "scaleInput"
                              ],
                              "type": "object"
                            },
                            "outputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              },
                              "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                              "type": "object"
                            },
                            "presets": {
                              "description": "Configuration for the presets",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "fields": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "presets": {
                                    "additionalProperties": false,
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "fields",
                                  "presets"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "resolutionComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the resolution component",
                              "properties": {
                                "heightInput": {
                                  "description": "The input name of the height",
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "presets": {
                                  "description": "The resolution presets",
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "height": {
                                        "type": "number"
                                      },
                                      "label": {
                                        "type": "string"
                                      },
                                      "width": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "height",
                                      "label",
                                      "width"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "widthInput": {
                                  "description": "The input name of the width",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "heightInput",
                                "label",
                                "presets",
                                "widthInput"
                              ],
                              "type": "object"
                            },
                            "selects": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "type": "object"
                              },
                              "description": "Configuration for the selects",
                              "type": "object"
                            },
                            "triggerGenerate": {
                              "additionalProperties": false,
                              "description": "Configuration for the trigger generate button",
                              "properties": {
                                "after": {
                                  "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "position": {
                                  "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                  "enum": [
                                    "bottom",
                                    "top"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label"
                              ],
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "ISO string",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "createdAt",
                        "description",
                        "editorInfo",
                        "flow",
                        "hasFlow",
                        "id",
                        "inputs",
                        "name",
                        "ownerId",
                        "privacy",
                        "shortDescription",
                        "status",
                        "tagSet",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "workflow"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "description": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "description",
                  "name"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "/workflows/{workflowId}": {
      "get": {
        "operationId": "GetWorkflowsByWorkflowId",
        "description": "Get workflow by ID",
        "tags": [
          "Workflows"
        ],
        "parameters": [
          {
            "name": "workflowId",
            "in": "path",
            "required": true,
            "description": "The workflow ID to retrieve",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "workflow": {
                      "additionalProperties": false,
                      "properties": {
                        "after": {
                          "additionalProperties": false,
                          "description": "A representation of an asset after being processed by the workflow",
                          "properties": {
                            "assetId": {
                              "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                              "type": "string"
                            },
                            "url": {
                              "description": "The url of the image used as a thumbnail for your model",
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "authorId": {
                          "description": "User that created the workflow.",
                          "type": "string"
                        },
                        "before": {
                          "additionalProperties": false,
                          "description": "A representation of an asset before being processed by the workflow",
                          "properties": {
                            "assetId": {
                              "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                              "type": "string"
                            },
                            "url": {
                              "description": "The url of the image used as a thumbnail for your model",
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "ISO string",
                          "type": "string"
                        },
                        "description": {
                          "description": "Full description of what the workflow does.",
                          "type": "string"
                        },
                        "editorInfo": {
                          "additionalProperties": true,
                          "description": "The UI data about the workflow. This is managed by scenario webapp.",
                          "properties": {},
                          "type": "object"
                        },
                        "embedding": {
                          "additionalProperties": false,
                          "description": "Embedding is a map of embedding version into embedding date",
                          "type": "object"
                        },
                        "flow": {
                          "description": "The flow of the workflow.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "count": {
                                "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                "type": "number"
                              },
                              "dependsOn": {
                                "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "id": {
                                "description": "The id of the node.",
                                "type": "string"
                              },
                              "includeOutputsInWorkflowJob": {
                                "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                "enum": [
                                  true
                                ],
                                "type": "boolean"
                              },
                              "inputs": {
                                "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "This is used to run the flow.",
                                  "properties": {
                                    "allowedValues": {
                                      "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                      "items": {},
                                      "type": "array"
                                    },
                                    "backgroundBehavior": {
                                      "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                      "enum": [
                                        "opaque",
                                        "transparent"
                                      ],
                                      "type": "string"
                                    },
                                    "color": {
                                      "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                      "type": "boolean"
                                    },
                                    "costImpact": {
                                      "description": "Whether this input affects the model's cost calculation",
                                      "type": "boolean"
                                    },
                                    "default": {
                                      "description": "The default value for the input"
                                    },
                                    "description": {
                                      "description": "Help text displayed in the UI to provide additional information about the input",
                                      "type": "string"
                                    },
                                    "group": {
                                      "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                      "type": "string"
                                    },
                                    "hint": {
                                      "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                      "type": "string"
                                    },
                                    "inputs": {
                                      "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                      "items": {
                                        "additionalProperties": true,
                                        "properties": {},
                                        "type": "object"
                                      },
                                      "type": "array"
                                    },
                                    "items": {
                                      "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                      "items": {
                                        "items": {
                                          "additionalProperties": false,
                                          "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                          "properties": {
                                            "allowedValues": {
                                              "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                              "items": {},
                                              "type": "array"
                                            },
                                            "backgroundBehavior": {
                                              "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                              "enum": [
                                                "opaque",
                                                "transparent"
                                              ],
                                              "type": "string"
                                            },
                                            "color": {
                                              "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                              "type": "boolean"
                                            },
                                            "costImpact": {
                                              "description": "Whether this input affects the model's cost calculation",
                                              "type": "boolean"
                                            },
                                            "default": {
                                              "description": "The default value for the input"
                                            },
                                            "description": {
                                              "description": "Help text displayed in the UI to provide additional information about the input",
                                              "type": "string"
                                            },
                                            "group": {
                                              "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                              "type": "string"
                                            },
                                            "hint": {
                                              "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                              "type": "string"
                                            },
                                            "inputs": {
                                              "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                              "items": {
                                                "additionalProperties": true,
                                                "properties": {},
                                                "type": "object"
                                              },
                                              "type": "array"
                                            },
                                            "kind": {
                                              "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                              "enum": [
                                                "3d",
                                                "audio",
                                                "document",
                                                "image",
                                                "image-hdr",
                                                "json",
                                                "text",
                                                "video"
                                              ],
                                              "type": "string"
                                            },
                                            "label": {
                                              "description": "The label displayed in the UI for this input",
                                              "type": "string"
                                            },
                                            "maskFrom": {
                                              "description": "The name of the file input field to use as the mask source",
                                              "type": "string"
                                            },
                                            "max": {
                                              "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                              "type": "number"
                                            },
                                            "maxDuration": {
                                              "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                              "type": "number"
                                            },
                                            "maxLength": {
                                              "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                              "type": "number"
                                            },
                                            "maxSize": {
                                              "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                              "type": "number"
                                            },
                                            "min": {
                                              "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                              "type": "number"
                                            },
                                            "minDuration": {
                                              "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                              "type": "number"
                                            },
                                            "minLength": {
                                              "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                              "type": "number"
                                            },
                                            "modelTypes": {
                                              "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                              "items": {
                                                "enum": [
                                                  "custom",
                                                  "elevenlabs-voice",
                                                  "flux.1",
                                                  "flux.1-composition",
                                                  "flux.1-kontext-dev",
                                                  "flux.1-kontext-lora",
                                                  "flux.1-krea-dev",
                                                  "flux.1-krea-lora",
                                                  "flux.1-lora",
                                                  "flux.1-pro",
                                                  "flux.1.1-pro-ultra",
                                                  "flux.2-dev-edit-lora",
                                                  "flux.2-dev-lora",
                                                  "flux.2-klein-4b-edit-lora",
                                                  "flux.2-klein-4b-lora",
                                                  "flux.2-klein-9b-edit-lora",
                                                  "flux.2-klein-9b-lora",
                                                  "flux.2-klein-base-4b-edit-lora",
                                                  "flux.2-klein-base-4b-lora",
                                                  "flux.2-klein-base-9b-edit-lora",
                                                  "flux.2-klein-base-9b-lora",
                                                  "flux1.1-pro",
                                                  "gpt-image-1",
                                                  "qwen-image-2512-lora",
                                                  "qwen-image-edit-2509-lora",
                                                  "qwen-image-edit-2511-lora",
                                                  "qwen-image-edit-lora",
                                                  "qwen-image-lora",
                                                  "zimage-de-turbo-lora",
                                                  "zimage-lora",
                                                  "zimage-turbo-lora"
                                                ],
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "name": {
                                              "description": "The name that must be user to call the model through the API",
                                              "type": "string"
                                            },
                                            "parent": {
                                              "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                              "type": "boolean"
                                            },
                                            "placeholder": {
                                              "description": "Placeholder text for the input. Only available for 'string' input type.",
                                              "type": "string"
                                            },
                                            "prompt": {
                                              "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                              "type": "boolean"
                                            },
                                            "promptSpark": {
                                              "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                              "type": "boolean"
                                            },
                                            "ref": {
                                              "additionalProperties": false,
                                              "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                              "properties": {
                                                "conditional": {
                                                  "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "equal": {
                                                  "description": "This is the desired node output value if ref is an if/else node.",
                                                  "type": "string"
                                                },
                                                "name": {
                                                  "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                  "type": "string"
                                                },
                                                "node": {
                                                  "description": "The node id or 'workflow' if the source is a workflow input.",
                                                  "type": "string"
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "required": {
                                              "additionalProperties": false,
                                              "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                              "properties": {
                                                "always": {
                                                  "description": "Whether the input is always required",
                                                  "type": "boolean"
                                                },
                                                "conditional": {
                                                  "additionalProperties": false,
                                                  "description": "Makes this input required when other inputs have one of the listed values",
                                                  "properties": {
                                                    "operator": {
                                                      "default": "and",
                                                      "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                      "enum": [
                                                        "and",
                                                        "or"
                                                      ],
                                                      "type": "string"
                                                    },
                                                    "values": {
                                                      "additionalProperties": false,
                                                      "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "required": [
                                                    "values"
                                                  ],
                                                  "type": "object"
                                                },
                                                "ifDefined": {
                                                  "additionalProperties": false,
                                                  "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                  "type": "object"
                                                },
                                                "ifNotDefined": {
                                                  "additionalProperties": false,
                                                  "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                  "type": "object"
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "step": {
                                              "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                              "minimum": 1,
                                              "type": "number"
                                            },
                                            "type": {
                                              "description": "The data type of the input",
                                              "enum": [
                                                "boolean",
                                                "file",
                                                "file_array",
                                                "inputs_array",
                                                "model",
                                                "model_array",
                                                "number",
                                                "number_array",
                                                "string",
                                                "string_array"
                                              ],
                                              "type": "string"
                                            },
                                            "value": {
                                              "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "type"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "type": "array"
                                    },
                                    "kind": {
                                      "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                      "enum": [
                                        "3d",
                                        "audio",
                                        "document",
                                        "image",
                                        "image-hdr",
                                        "json",
                                        "text",
                                        "video"
                                      ],
                                      "type": "string"
                                    },
                                    "label": {
                                      "description": "The label displayed in the UI for this input",
                                      "type": "string"
                                    },
                                    "maskFrom": {
                                      "description": "The name of the file input field to use as the mask source",
                                      "type": "string"
                                    },
                                    "max": {
                                      "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                      "type": "number"
                                    },
                                    "maxDuration": {
                                      "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                      "type": "number"
                                    },
                                    "maxLength": {
                                      "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                      "type": "number"
                                    },
                                    "maxSize": {
                                      "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                      "type": "number"
                                    },
                                    "min": {
                                      "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                      "type": "number"
                                    },
                                    "minDuration": {
                                      "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                      "type": "number"
                                    },
                                    "minLength": {
                                      "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                      "type": "number"
                                    },
                                    "modelTypes": {
                                      "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                      "items": {
                                        "enum": [
                                          "custom",
                                          "elevenlabs-voice",
                                          "flux.1",
                                          "flux.1-composition",
                                          "flux.1-kontext-dev",
                                          "flux.1-kontext-lora",
                                          "flux.1-krea-dev",
                                          "flux.1-krea-lora",
                                          "flux.1-lora",
                                          "flux.1-pro",
                                          "flux.1.1-pro-ultra",
                                          "flux.2-dev-edit-lora",
                                          "flux.2-dev-lora",
                                          "flux.2-klein-4b-edit-lora",
                                          "flux.2-klein-4b-lora",
                                          "flux.2-klein-9b-edit-lora",
                                          "flux.2-klein-9b-lora",
                                          "flux.2-klein-base-4b-edit-lora",
                                          "flux.2-klein-base-4b-lora",
                                          "flux.2-klein-base-9b-edit-lora",
                                          "flux.2-klein-base-9b-lora",
                                          "flux1.1-pro",
                                          "gpt-image-1",
                                          "qwen-image-2512-lora",
                                          "qwen-image-edit-2509-lora",
                                          "qwen-image-edit-2511-lora",
                                          "qwen-image-edit-lora",
                                          "qwen-image-lora",
                                          "zimage-de-turbo-lora",
                                          "zimage-lora",
                                          "zimage-turbo-lora"
                                        ],
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "name": {
                                      "description": "The name that must be user to call the model through the API",
                                      "type": "string"
                                    },
                                    "parent": {
                                      "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                      "type": "boolean"
                                    },
                                    "placeholder": {
                                      "description": "Placeholder text for the input. Only available for 'string' input type.",
                                      "type": "string"
                                    },
                                    "prompt": {
                                      "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                      "type": "boolean"
                                    },
                                    "promptSpark": {
                                      "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                      "type": "boolean"
                                    },
                                    "ref": {
                                      "additionalProperties": false,
                                      "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                      "properties": {
                                        "conditional": {
                                          "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "equal": {
                                          "description": "This is the desired node output value if ref is an if/else node.",
                                          "type": "string"
                                        },
                                        "name": {
                                          "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                          "type": "string"
                                        },
                                        "node": {
                                          "description": "The node id or 'workflow' if the source is a workflow input.",
                                          "type": "string"
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "required": {
                                      "additionalProperties": false,
                                      "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                      "properties": {
                                        "always": {
                                          "description": "Whether the input is always required",
                                          "type": "boolean"
                                        },
                                        "conditional": {
                                          "additionalProperties": false,
                                          "description": "Makes this input required when other inputs have one of the listed values",
                                          "properties": {
                                            "operator": {
                                              "default": "and",
                                              "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                              "enum": [
                                                "and",
                                                "or"
                                              ],
                                              "type": "string"
                                            },
                                            "values": {
                                              "additionalProperties": false,
                                              "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                              "type": "object"
                                            }
                                          },
                                          "required": [
                                            "values"
                                          ],
                                          "type": "object"
                                        },
                                        "ifDefined": {
                                          "additionalProperties": false,
                                          "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                          "type": "object"
                                        },
                                        "ifNotDefined": {
                                          "additionalProperties": false,
                                          "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                          "type": "object"
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "step": {
                                      "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                      "minimum": 1,
                                      "type": "number"
                                    },
                                    "type": {
                                      "description": "The data type of the input",
                                      "enum": [
                                        "boolean",
                                        "file",
                                        "file_array",
                                        "inputs_array",
                                        "model",
                                        "model_array",
                                        "number",
                                        "number_array",
                                        "string",
                                        "string_array"
                                      ],
                                      "type": "string"
                                    },
                                    "value": {
                                      "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                    }
                                  },
                                  "required": [
                                    "name",
                                    "type"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "items": {
                                "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "iterationIndex": {
                                "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                "type": "number"
                              },
                              "logic": {
                                "additionalProperties": false,
                                "description": "The logic of the node.\nOnly available for logic nodes.",
                                "properties": {
                                  "cases": {
                                    "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "condition": {
                                          "type": "string"
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "condition",
                                        "value"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "default": {
                                    "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                    "type": "string"
                                  },
                                  "transform": {
                                    "description": "The transform of the logic.\nOnly available for transform nodes.",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "logicType": {
                                "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                "enum": [
                                  "if-else"
                                ],
                                "type": "string"
                              },
                              "loopBodyNodeIds": {
                                "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "loopNodeId": {
                                "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model id for the node. Mainly used for custom model tasks.",
                                "type": "string"
                              },
                              "type": {
                                "description": "The type of the job for the node.",
                                "enum": [
                                  "custom-model",
                                  "for-each",
                                  "generate-prompt",
                                  "list",
                                  "logic",
                                  "model",
                                  "remove-background",
                                  "transform",
                                  "user-approval",
                                  "user-selection",
                                  "workflow"
                                ],
                                "type": "string"
                              },
                              "workflowId": {
                                "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "id",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "hasFlow": {
                          "description": "Whether the workflow has a non-empty flow. Present even when `flow` itself\nis not, so an empty workflow can be told apart from a populated one.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "Unique identifier of the workflow.",
                          "type": "string"
                        },
                        "inputs": {
                          "description": "The inputs of the workflow.",
                          "items": {
                            "additionalProperties": false,
                            "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                            "properties": {
                              "allowedValues": {
                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                "items": {},
                                "type": "array"
                              },
                              "backgroundBehavior": {
                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                "enum": [
                                  "opaque",
                                  "transparent"
                                ],
                                "type": "string"
                              },
                              "color": {
                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "costImpact": {
                                "description": "Whether this input affects the model's cost calculation",
                                "type": "boolean"
                              },
                              "default": {
                                "description": "The default value for the input"
                              },
                              "description": {
                                "description": "Help text displayed in the UI to provide additional information about the input",
                                "type": "string"
                              },
                              "group": {
                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                "type": "string"
                              },
                              "hint": {
                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                "type": "string"
                              },
                              "inputs": {
                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                "items": {
                                  "additionalProperties": true,
                                  "properties": {},
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "kind": {
                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "label": {
                                "description": "The label displayed in the UI for this input",
                                "type": "string"
                              },
                              "maskFrom": {
                                "description": "The name of the file input field to use as the mask source",
                                "type": "string"
                              },
                              "max": {
                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                "type": "number"
                              },
                              "maxDuration": {
                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "maxLength": {
                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "maxSize": {
                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                "type": "number"
                              },
                              "min": {
                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                "type": "number"
                              },
                              "minDuration": {
                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "minLength": {
                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "modelTypes": {
                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                "items": {
                                  "enum": [
                                    "custom",
                                    "elevenlabs-voice",
                                    "flux.1",
                                    "flux.1-composition",
                                    "flux.1-kontext-dev",
                                    "flux.1-kontext-lora",
                                    "flux.1-krea-dev",
                                    "flux.1-krea-lora",
                                    "flux.1-lora",
                                    "flux.1-pro",
                                    "flux.1.1-pro-ultra",
                                    "flux.2-dev-edit-lora",
                                    "flux.2-dev-lora",
                                    "flux.2-klein-4b-edit-lora",
                                    "flux.2-klein-4b-lora",
                                    "flux.2-klein-9b-edit-lora",
                                    "flux.2-klein-9b-lora",
                                    "flux.2-klein-base-4b-edit-lora",
                                    "flux.2-klein-base-4b-lora",
                                    "flux.2-klein-base-9b-edit-lora",
                                    "flux.2-klein-base-9b-lora",
                                    "flux1.1-pro",
                                    "gpt-image-1",
                                    "qwen-image-2512-lora",
                                    "qwen-image-edit-2509-lora",
                                    "qwen-image-edit-2511-lora",
                                    "qwen-image-edit-lora",
                                    "qwen-image-lora",
                                    "zimage-de-turbo-lora",
                                    "zimage-lora",
                                    "zimage-turbo-lora"
                                  ],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "name": {
                                "description": "The name that must be user to call the model through the API",
                                "type": "string"
                              },
                              "parent": {
                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                "type": "boolean"
                              },
                              "placeholder": {
                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "promptSpark": {
                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "required": {
                                "additionalProperties": false,
                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                "properties": {
                                  "always": {
                                    "description": "Whether the input is always required",
                                    "type": "boolean"
                                  },
                                  "conditional": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when other inputs have one of the listed values",
                                    "properties": {
                                      "operator": {
                                        "default": "and",
                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                        "enum": [
                                          "and",
                                          "or"
                                        ],
                                        "type": "string"
                                      },
                                      "values": {
                                        "additionalProperties": false,
                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "values"
                                    ],
                                    "type": "object"
                                  },
                                  "ifDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  },
                                  "ifNotDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "step": {
                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                "minimum": 1,
                                "type": "number"
                              },
                              "type": {
                                "description": "The data type of the input",
                                "enum": [
                                  "boolean",
                                  "file",
                                  "file_array",
                                  "inputs_array",
                                  "model",
                                  "model_array",
                                  "number",
                                  "number_array",
                                  "string",
                                  "string_array"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "name",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "isLocked": {
                          "default": false,
                          "description": "Whether the workflow is locked. Locked workflows cannot be modified or deleted\nexcept by the author or a project admin.",
                          "type": "boolean"
                        },
                        "lastIndexedAt": {
                          "format": "date-time",
                          "type": "string"
                        },
                        "lastIndexingType": {
                          "description": "The type of indexing operation to perform in MeiliSearch",
                          "enum": [
                            "CREATE",
                            "DELETE",
                            "UPDATE"
                          ],
                          "type": "string"
                        },
                        "lastReadyFlowUpdatedAt": {
                          "description": "Timestamp when the workflow flow was last saved as a Ready (App) snapshot.\nUsed to compute the WorkflowNodes snapshot key.\nOnly set for workflows that have been in the Ready state.",
                          "format": "date-time",
                          "type": "string"
                        },
                        "lockedStateChangedAt": {
                          "description": "ISO string timestamp when lock state was last changed.",
                          "type": "string"
                        },
                        "lockedStateChangedBy": {
                          "description": "UserId of the user who last changed the lock state.",
                          "type": "string"
                        },
                        "name": {
                          "description": "Human-readable name of the workflow.",
                          "type": "string"
                        },
                        "outputAssetKinds": {
                          "description": "Asset kinds produced by this workflow (if specified).",
                          "items": {
                            "enum": [
                              "3d",
                              "audio",
                              "document",
                              "image",
                              "image-hdr",
                              "json",
                              "text",
                              "video"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "ownerId": {
                          "description": "Project that owns the workflow.",
                          "type": "string"
                        },
                        "privacy": {
                          "description": "Visibility setting for the workflow.",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "shortDescription": {
                          "description": "Short summary of the workflow.",
                          "type": "string"
                        },
                        "status": {
                          "description": "Current lifecycle status (draft, ready, deleted).",
                          "enum": [
                            "deleted",
                            "draft",
                            "ready"
                          ],
                          "type": "string"
                        },
                        "tagSet": {
                          "description": "The tag set of the workflow.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "Currently the thumbnail is identical to the after asset.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "uiConfig": {
                          "additionalProperties": false,
                          "description": "The UI configuration for the workflow. This is managed by scenario webapp.",
                          "properties": {
                            "inputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "collapsed": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object"
                              },
                              "description": "Configuration for the input properties",
                              "type": "object"
                            },
                            "lorasComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the loras component",
                              "properties": {
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "modelIdInput": {
                                  "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                  "type": "string"
                                },
                                "modelInput": {
                                  "description": "The input name of the model (model_array)",
                                  "type": "string"
                                },
                                "scaleInput": {
                                  "description": "The input name of the scale (number_array)",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label",
                                "modelInput",
                                "scaleInput"
                              ],
                              "type": "object"
                            },
                            "outputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              },
                              "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                              "type": "object"
                            },
                            "presets": {
                              "description": "Configuration for the presets",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "fields": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "presets": {
                                    "additionalProperties": false,
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "fields",
                                  "presets"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "resolutionComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the resolution component",
                              "properties": {
                                "heightInput": {
                                  "description": "The input name of the height",
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "presets": {
                                  "description": "The resolution presets",
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "height": {
                                        "type": "number"
                                      },
                                      "label": {
                                        "type": "string"
                                      },
                                      "width": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "height",
                                      "label",
                                      "width"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "widthInput": {
                                  "description": "The input name of the width",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "heightInput",
                                "label",
                                "presets",
                                "widthInput"
                              ],
                              "type": "object"
                            },
                            "selects": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "type": "object"
                              },
                              "description": "Configuration for the selects",
                              "type": "object"
                            },
                            "triggerGenerate": {
                              "additionalProperties": false,
                              "description": "Configuration for the trigger generate button",
                              "properties": {
                                "after": {
                                  "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "position": {
                                  "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                  "enum": [
                                    "bottom",
                                    "top"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label"
                              ],
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "ISO string",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "createdAt",
                        "description",
                        "editorInfo",
                        "flow",
                        "hasFlow",
                        "id",
                        "inputs",
                        "name",
                        "ownerId",
                        "privacy",
                        "shortDescription",
                        "status",
                        "tagSet",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "workflow"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      },
      "put": {
        "operationId": "PutWorkflowsByWorkflowId",
        "description": "Update workflow",
        "tags": [
          "Workflows"
        ],
        "parameters": [
          {
            "name": "workflowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "workflow": {
                      "additionalProperties": false,
                      "properties": {
                        "after": {
                          "additionalProperties": false,
                          "description": "A representation of an asset after being processed by the workflow",
                          "properties": {
                            "assetId": {
                              "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                              "type": "string"
                            },
                            "url": {
                              "description": "The url of the image used as a thumbnail for your model",
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "authorId": {
                          "description": "User that created the workflow.",
                          "type": "string"
                        },
                        "before": {
                          "additionalProperties": false,
                          "description": "A representation of an asset before being processed by the workflow",
                          "properties": {
                            "assetId": {
                              "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                              "type": "string"
                            },
                            "url": {
                              "description": "The url of the image used as a thumbnail for your model",
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "ISO string",
                          "type": "string"
                        },
                        "description": {
                          "description": "Full description of what the workflow does.",
                          "type": "string"
                        },
                        "editorInfo": {
                          "additionalProperties": true,
                          "description": "The UI data about the workflow. This is managed by scenario webapp.",
                          "properties": {},
                          "type": "object"
                        },
                        "embedding": {
                          "additionalProperties": false,
                          "description": "Embedding is a map of embedding version into embedding date",
                          "type": "object"
                        },
                        "flow": {
                          "description": "The flow of the workflow.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "count": {
                                "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                "type": "number"
                              },
                              "dependsOn": {
                                "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "id": {
                                "description": "The id of the node.",
                                "type": "string"
                              },
                              "includeOutputsInWorkflowJob": {
                                "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                "enum": [
                                  true
                                ],
                                "type": "boolean"
                              },
                              "inputs": {
                                "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "This is used to run the flow.",
                                  "properties": {
                                    "allowedValues": {
                                      "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                      "items": {},
                                      "type": "array"
                                    },
                                    "backgroundBehavior": {
                                      "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                      "enum": [
                                        "opaque",
                                        "transparent"
                                      ],
                                      "type": "string"
                                    },
                                    "color": {
                                      "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                      "type": "boolean"
                                    },
                                    "costImpact": {
                                      "description": "Whether this input affects the model's cost calculation",
                                      "type": "boolean"
                                    },
                                    "default": {
                                      "description": "The default value for the input"
                                    },
                                    "description": {
                                      "description": "Help text displayed in the UI to provide additional information about the input",
                                      "type": "string"
                                    },
                                    "group": {
                                      "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                      "type": "string"
                                    },
                                    "hint": {
                                      "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                      "type": "string"
                                    },
                                    "inputs": {
                                      "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                      "items": {
                                        "additionalProperties": true,
                                        "properties": {},
                                        "type": "object"
                                      },
                                      "type": "array"
                                    },
                                    "items": {
                                      "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                      "items": {
                                        "items": {
                                          "additionalProperties": false,
                                          "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                          "properties": {
                                            "allowedValues": {
                                              "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                              "items": {},
                                              "type": "array"
                                            },
                                            "backgroundBehavior": {
                                              "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                              "enum": [
                                                "opaque",
                                                "transparent"
                                              ],
                                              "type": "string"
                                            },
                                            "color": {
                                              "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                              "type": "boolean"
                                            },
                                            "costImpact": {
                                              "description": "Whether this input affects the model's cost calculation",
                                              "type": "boolean"
                                            },
                                            "default": {
                                              "description": "The default value for the input"
                                            },
                                            "description": {
                                              "description": "Help text displayed in the UI to provide additional information about the input",
                                              "type": "string"
                                            },
                                            "group": {
                                              "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                              "type": "string"
                                            },
                                            "hint": {
                                              "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                              "type": "string"
                                            },
                                            "inputs": {
                                              "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                              "items": {
                                                "additionalProperties": true,
                                                "properties": {},
                                                "type": "object"
                                              },
                                              "type": "array"
                                            },
                                            "kind": {
                                              "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                              "enum": [
                                                "3d",
                                                "audio",
                                                "document",
                                                "image",
                                                "image-hdr",
                                                "json",
                                                "text",
                                                "video"
                                              ],
                                              "type": "string"
                                            },
                                            "label": {
                                              "description": "The label displayed in the UI for this input",
                                              "type": "string"
                                            },
                                            "maskFrom": {
                                              "description": "The name of the file input field to use as the mask source",
                                              "type": "string"
                                            },
                                            "max": {
                                              "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                              "type": "number"
                                            },
                                            "maxDuration": {
                                              "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                              "type": "number"
                                            },
                                            "maxLength": {
                                              "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                              "type": "number"
                                            },
                                            "maxSize": {
                                              "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                              "type": "number"
                                            },
                                            "min": {
                                              "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                              "type": "number"
                                            },
                                            "minDuration": {
                                              "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                              "type": "number"
                                            },
                                            "minLength": {
                                              "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                              "type": "number"
                                            },
                                            "modelTypes": {
                                              "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                              "items": {
                                                "enum": [
                                                  "custom",
                                                  "elevenlabs-voice",
                                                  "flux.1",
                                                  "flux.1-composition",
                                                  "flux.1-kontext-dev",
                                                  "flux.1-kontext-lora",
                                                  "flux.1-krea-dev",
                                                  "flux.1-krea-lora",
                                                  "flux.1-lora",
                                                  "flux.1-pro",
                                                  "flux.1.1-pro-ultra",
                                                  "flux.2-dev-edit-lora",
                                                  "flux.2-dev-lora",
                                                  "flux.2-klein-4b-edit-lora",
                                                  "flux.2-klein-4b-lora",
                                                  "flux.2-klein-9b-edit-lora",
                                                  "flux.2-klein-9b-lora",
                                                  "flux.2-klein-base-4b-edit-lora",
                                                  "flux.2-klein-base-4b-lora",
                                                  "flux.2-klein-base-9b-edit-lora",
                                                  "flux.2-klein-base-9b-lora",
                                                  "flux1.1-pro",
                                                  "gpt-image-1",
                                                  "qwen-image-2512-lora",
                                                  "qwen-image-edit-2509-lora",
                                                  "qwen-image-edit-2511-lora",
                                                  "qwen-image-edit-lora",
                                                  "qwen-image-lora",
                                                  "zimage-de-turbo-lora",
                                                  "zimage-lora",
                                                  "zimage-turbo-lora"
                                                ],
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "name": {
                                              "description": "The name that must be user to call the model through the API",
                                              "type": "string"
                                            },
                                            "parent": {
                                              "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                              "type": "boolean"
                                            },
                                            "placeholder": {
                                              "description": "Placeholder text for the input. Only available for 'string' input type.",
                                              "type": "string"
                                            },
                                            "prompt": {
                                              "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                              "type": "boolean"
                                            },
                                            "promptSpark": {
                                              "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                              "type": "boolean"
                                            },
                                            "ref": {
                                              "additionalProperties": false,
                                              "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                              "properties": {
                                                "conditional": {
                                                  "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "equal": {
                                                  "description": "This is the desired node output value if ref is an if/else node.",
                                                  "type": "string"
                                                },
                                                "name": {
                                                  "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                  "type": "string"
                                                },
                                                "node": {
                                                  "description": "The node id or 'workflow' if the source is a workflow input.",
                                                  "type": "string"
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "required": {
                                              "additionalProperties": false,
                                              "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                              "properties": {
                                                "always": {
                                                  "description": "Whether the input is always required",
                                                  "type": "boolean"
                                                },
                                                "conditional": {
                                                  "additionalProperties": false,
                                                  "description": "Makes this input required when other inputs have one of the listed values",
                                                  "properties": {
                                                    "operator": {
                                                      "default": "and",
                                                      "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                      "enum": [
                                                        "and",
                                                        "or"
                                                      ],
                                                      "type": "string"
                                                    },
                                                    "values": {
                                                      "additionalProperties": false,
                                                      "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "required": [
                                                    "values"
                                                  ],
                                                  "type": "object"
                                                },
                                                "ifDefined": {
                                                  "additionalProperties": false,
                                                  "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                  "type": "object"
                                                },
                                                "ifNotDefined": {
                                                  "additionalProperties": false,
                                                  "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                  "type": "object"
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "step": {
                                              "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                              "minimum": 1,
                                              "type": "number"
                                            },
                                            "type": {
                                              "description": "The data type of the input",
                                              "enum": [
                                                "boolean",
                                                "file",
                                                "file_array",
                                                "inputs_array",
                                                "model",
                                                "model_array",
                                                "number",
                                                "number_array",
                                                "string",
                                                "string_array"
                                              ],
                                              "type": "string"
                                            },
                                            "value": {
                                              "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "type"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "type": "array"
                                    },
                                    "kind": {
                                      "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                      "enum": [
                                        "3d",
                                        "audio",
                                        "document",
                                        "image",
                                        "image-hdr",
                                        "json",
                                        "text",
                                        "video"
                                      ],
                                      "type": "string"
                                    },
                                    "label": {
                                      "description": "The label displayed in the UI for this input",
                                      "type": "string"
                                    },
                                    "maskFrom": {
                                      "description": "The name of the file input field to use as the mask source",
                                      "type": "string"
                                    },
                                    "max": {
                                      "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                      "type": "number"
                                    },
                                    "maxDuration": {
                                      "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                      "type": "number"
                                    },
                                    "maxLength": {
                                      "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                      "type": "number"
                                    },
                                    "maxSize": {
                                      "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                      "type": "number"
                                    },
                                    "min": {
                                      "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                      "type": "number"
                                    },
                                    "minDuration": {
                                      "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                      "type": "number"
                                    },
                                    "minLength": {
                                      "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                      "type": "number"
                                    },
                                    "modelTypes": {
                                      "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                      "items": {
                                        "enum": [
                                          "custom",
                                          "elevenlabs-voice",
                                          "flux.1",
                                          "flux.1-composition",
                                          "flux.1-kontext-dev",
                                          "flux.1-kontext-lora",
                                          "flux.1-krea-dev",
                                          "flux.1-krea-lora",
                                          "flux.1-lora",
                                          "flux.1-pro",
                                          "flux.1.1-pro-ultra",
                                          "flux.2-dev-edit-lora",
                                          "flux.2-dev-lora",
                                          "flux.2-klein-4b-edit-lora",
                                          "flux.2-klein-4b-lora",
                                          "flux.2-klein-9b-edit-lora",
                                          "flux.2-klein-9b-lora",
                                          "flux.2-klein-base-4b-edit-lora",
                                          "flux.2-klein-base-4b-lora",
                                          "flux.2-klein-base-9b-edit-lora",
                                          "flux.2-klein-base-9b-lora",
                                          "flux1.1-pro",
                                          "gpt-image-1",
                                          "qwen-image-2512-lora",
                                          "qwen-image-edit-2509-lora",
                                          "qwen-image-edit-2511-lora",
                                          "qwen-image-edit-lora",
                                          "qwen-image-lora",
                                          "zimage-de-turbo-lora",
                                          "zimage-lora",
                                          "zimage-turbo-lora"
                                        ],
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "name": {
                                      "description": "The name that must be user to call the model through the API",
                                      "type": "string"
                                    },
                                    "parent": {
                                      "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                      "type": "boolean"
                                    },
                                    "placeholder": {
                                      "description": "Placeholder text for the input. Only available for 'string' input type.",
                                      "type": "string"
                                    },
                                    "prompt": {
                                      "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                      "type": "boolean"
                                    },
                                    "promptSpark": {
                                      "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                      "type": "boolean"
                                    },
                                    "ref": {
                                      "additionalProperties": false,
                                      "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                      "properties": {
                                        "conditional": {
                                          "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "equal": {
                                          "description": "This is the desired node output value if ref is an if/else node.",
                                          "type": "string"
                                        },
                                        "name": {
                                          "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                          "type": "string"
                                        },
                                        "node": {
                                          "description": "The node id or 'workflow' if the source is a workflow input.",
                                          "type": "string"
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "required": {
                                      "additionalProperties": false,
                                      "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                      "properties": {
                                        "always": {
                                          "description": "Whether the input is always required",
                                          "type": "boolean"
                                        },
                                        "conditional": {
                                          "additionalProperties": false,
                                          "description": "Makes this input required when other inputs have one of the listed values",
                                          "properties": {
                                            "operator": {
                                              "default": "and",
                                              "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                              "enum": [
                                                "and",
                                                "or"
                                              ],
                                              "type": "string"
                                            },
                                            "values": {
                                              "additionalProperties": false,
                                              "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                              "type": "object"
                                            }
                                          },
                                          "required": [
                                            "values"
                                          ],
                                          "type": "object"
                                        },
                                        "ifDefined": {
                                          "additionalProperties": false,
                                          "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                          "type": "object"
                                        },
                                        "ifNotDefined": {
                                          "additionalProperties": false,
                                          "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                          "type": "object"
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "step": {
                                      "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                      "minimum": 1,
                                      "type": "number"
                                    },
                                    "type": {
                                      "description": "The data type of the input",
                                      "enum": [
                                        "boolean",
                                        "file",
                                        "file_array",
                                        "inputs_array",
                                        "model",
                                        "model_array",
                                        "number",
                                        "number_array",
                                        "string",
                                        "string_array"
                                      ],
                                      "type": "string"
                                    },
                                    "value": {
                                      "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                    }
                                  },
                                  "required": [
                                    "name",
                                    "type"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "items": {
                                "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "iterationIndex": {
                                "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                "type": "number"
                              },
                              "logic": {
                                "additionalProperties": false,
                                "description": "The logic of the node.\nOnly available for logic nodes.",
                                "properties": {
                                  "cases": {
                                    "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "condition": {
                                          "type": "string"
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "condition",
                                        "value"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "default": {
                                    "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                    "type": "string"
                                  },
                                  "transform": {
                                    "description": "The transform of the logic.\nOnly available for transform nodes.",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "logicType": {
                                "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                "enum": [
                                  "if-else"
                                ],
                                "type": "string"
                              },
                              "loopBodyNodeIds": {
                                "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "loopNodeId": {
                                "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model id for the node. Mainly used for custom model tasks.",
                                "type": "string"
                              },
                              "type": {
                                "description": "The type of the job for the node.",
                                "enum": [
                                  "custom-model",
                                  "for-each",
                                  "generate-prompt",
                                  "list",
                                  "logic",
                                  "model",
                                  "remove-background",
                                  "transform",
                                  "user-approval",
                                  "user-selection",
                                  "workflow"
                                ],
                                "type": "string"
                              },
                              "workflowId": {
                                "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "id",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "hasFlow": {
                          "description": "Whether the workflow has a non-empty flow. Present even when `flow` itself\nis not, so an empty workflow can be told apart from a populated one.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "Unique identifier of the workflow.",
                          "type": "string"
                        },
                        "inputs": {
                          "description": "The inputs of the workflow.",
                          "items": {
                            "additionalProperties": false,
                            "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                            "properties": {
                              "allowedValues": {
                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                "items": {},
                                "type": "array"
                              },
                              "backgroundBehavior": {
                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                "enum": [
                                  "opaque",
                                  "transparent"
                                ],
                                "type": "string"
                              },
                              "color": {
                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "costImpact": {
                                "description": "Whether this input affects the model's cost calculation",
                                "type": "boolean"
                              },
                              "default": {
                                "description": "The default value for the input"
                              },
                              "description": {
                                "description": "Help text displayed in the UI to provide additional information about the input",
                                "type": "string"
                              },
                              "group": {
                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                "type": "string"
                              },
                              "hint": {
                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                "type": "string"
                              },
                              "inputs": {
                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                "items": {
                                  "additionalProperties": true,
                                  "properties": {},
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "kind": {
                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "label": {
                                "description": "The label displayed in the UI for this input",
                                "type": "string"
                              },
                              "maskFrom": {
                                "description": "The name of the file input field to use as the mask source",
                                "type": "string"
                              },
                              "max": {
                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                "type": "number"
                              },
                              "maxDuration": {
                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "maxLength": {
                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "maxSize": {
                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                "type": "number"
                              },
                              "min": {
                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                "type": "number"
                              },
                              "minDuration": {
                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "minLength": {
                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "modelTypes": {
                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                "items": {
                                  "enum": [
                                    "custom",
                                    "elevenlabs-voice",
                                    "flux.1",
                                    "flux.1-composition",
                                    "flux.1-kontext-dev",
                                    "flux.1-kontext-lora",
                                    "flux.1-krea-dev",
                                    "flux.1-krea-lora",
                                    "flux.1-lora",
                                    "flux.1-pro",
                                    "flux.1.1-pro-ultra",
                                    "flux.2-dev-edit-lora",
                                    "flux.2-dev-lora",
                                    "flux.2-klein-4b-edit-lora",
                                    "flux.2-klein-4b-lora",
                                    "flux.2-klein-9b-edit-lora",
                                    "flux.2-klein-9b-lora",
                                    "flux.2-klein-base-4b-edit-lora",
                                    "flux.2-klein-base-4b-lora",
                                    "flux.2-klein-base-9b-edit-lora",
                                    "flux.2-klein-base-9b-lora",
                                    "flux1.1-pro",
                                    "gpt-image-1",
                                    "qwen-image-2512-lora",
                                    "qwen-image-edit-2509-lora",
                                    "qwen-image-edit-2511-lora",
                                    "qwen-image-edit-lora",
                                    "qwen-image-lora",
                                    "zimage-de-turbo-lora",
                                    "zimage-lora",
                                    "zimage-turbo-lora"
                                  ],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "name": {
                                "description": "The name that must be user to call the model through the API",
                                "type": "string"
                              },
                              "parent": {
                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                "type": "boolean"
                              },
                              "placeholder": {
                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "promptSpark": {
                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "required": {
                                "additionalProperties": false,
                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                "properties": {
                                  "always": {
                                    "description": "Whether the input is always required",
                                    "type": "boolean"
                                  },
                                  "conditional": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when other inputs have one of the listed values",
                                    "properties": {
                                      "operator": {
                                        "default": "and",
                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                        "enum": [
                                          "and",
                                          "or"
                                        ],
                                        "type": "string"
                                      },
                                      "values": {
                                        "additionalProperties": false,
                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "values"
                                    ],
                                    "type": "object"
                                  },
                                  "ifDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  },
                                  "ifNotDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "step": {
                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                "minimum": 1,
                                "type": "number"
                              },
                              "type": {
                                "description": "The data type of the input",
                                "enum": [
                                  "boolean",
                                  "file",
                                  "file_array",
                                  "inputs_array",
                                  "model",
                                  "model_array",
                                  "number",
                                  "number_array",
                                  "string",
                                  "string_array"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "name",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "isLocked": {
                          "default": false,
                          "description": "Whether the workflow is locked. Locked workflows cannot be modified or deleted\nexcept by the author or a project admin.",
                          "type": "boolean"
                        },
                        "lastIndexedAt": {
                          "format": "date-time",
                          "type": "string"
                        },
                        "lastIndexingType": {
                          "description": "The type of indexing operation to perform in MeiliSearch",
                          "enum": [
                            "CREATE",
                            "DELETE",
                            "UPDATE"
                          ],
                          "type": "string"
                        },
                        "lastReadyFlowUpdatedAt": {
                          "description": "Timestamp when the workflow flow was last saved as a Ready (App) snapshot.\nUsed to compute the WorkflowNodes snapshot key.\nOnly set for workflows that have been in the Ready state.",
                          "format": "date-time",
                          "type": "string"
                        },
                        "lockedStateChangedAt": {
                          "description": "ISO string timestamp when lock state was last changed.",
                          "type": "string"
                        },
                        "lockedStateChangedBy": {
                          "description": "UserId of the user who last changed the lock state.",
                          "type": "string"
                        },
                        "name": {
                          "description": "Human-readable name of the workflow.",
                          "type": "string"
                        },
                        "outputAssetKinds": {
                          "description": "Asset kinds produced by this workflow (if specified).",
                          "items": {
                            "enum": [
                              "3d",
                              "audio",
                              "document",
                              "image",
                              "image-hdr",
                              "json",
                              "text",
                              "video"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "ownerId": {
                          "description": "Project that owns the workflow.",
                          "type": "string"
                        },
                        "privacy": {
                          "description": "Visibility setting for the workflow.",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "shortDescription": {
                          "description": "Short summary of the workflow.",
                          "type": "string"
                        },
                        "status": {
                          "description": "Current lifecycle status (draft, ready, deleted).",
                          "enum": [
                            "deleted",
                            "draft",
                            "ready"
                          ],
                          "type": "string"
                        },
                        "tagSet": {
                          "description": "The tag set of the workflow.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "Currently the thumbnail is identical to the after asset.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "uiConfig": {
                          "additionalProperties": false,
                          "description": "The UI configuration for the workflow. This is managed by scenario webapp.",
                          "properties": {
                            "inputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "collapsed": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object"
                              },
                              "description": "Configuration for the input properties",
                              "type": "object"
                            },
                            "lorasComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the loras component",
                              "properties": {
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "modelIdInput": {
                                  "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                  "type": "string"
                                },
                                "modelInput": {
                                  "description": "The input name of the model (model_array)",
                                  "type": "string"
                                },
                                "scaleInput": {
                                  "description": "The input name of the scale (number_array)",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label",
                                "modelInput",
                                "scaleInput"
                              ],
                              "type": "object"
                            },
                            "outputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              },
                              "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                              "type": "object"
                            },
                            "presets": {
                              "description": "Configuration for the presets",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "fields": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "presets": {
                                    "additionalProperties": false,
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "fields",
                                  "presets"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "resolutionComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the resolution component",
                              "properties": {
                                "heightInput": {
                                  "description": "The input name of the height",
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "presets": {
                                  "description": "The resolution presets",
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "height": {
                                        "type": "number"
                                      },
                                      "label": {
                                        "type": "string"
                                      },
                                      "width": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "height",
                                      "label",
                                      "width"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "widthInput": {
                                  "description": "The input name of the width",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "heightInput",
                                "label",
                                "presets",
                                "widthInput"
                              ],
                              "type": "object"
                            },
                            "selects": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "type": "object"
                              },
                              "description": "Configuration for the selects",
                              "type": "object"
                            },
                            "triggerGenerate": {
                              "additionalProperties": false,
                              "description": "Configuration for the trigger generate button",
                              "properties": {
                                "after": {
                                  "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "position": {
                                  "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                  "enum": [
                                    "bottom",
                                    "top"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label"
                              ],
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "ISO string",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "createdAt",
                        "description",
                        "editorInfo",
                        "flow",
                        "hasFlow",
                        "id",
                        "inputs",
                        "name",
                        "ownerId",
                        "privacy",
                        "shortDescription",
                        "status",
                        "tagSet",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "workflow"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "after": {
                    "description": "The after asset of the workflow. Set to null to unset the after asset.",
                    "type": "string"
                  },
                  "before": {
                    "description": "The before asset of the workflow. Set to null to unset the before asset.",
                    "type": "string"
                  },
                  "bypassLock": {
                    "description": "Set to true to bypass the lock and save a locked workflow without unlocking it first.\nOnly the author or a project admin can use this.",
                    "type": "boolean"
                  },
                  "description": {
                    "description": "The description of the workflow.",
                    "type": "string"
                  },
                  "editorInfo": {
                    "additionalProperties": true,
                    "description": "The UI data about the workflow. This is managed by scenario webapp.",
                    "properties": {},
                    "type": "object"
                  },
                  "flow": {
                    "description": "The flow of the workflow.",
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "count": {
                          "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                          "type": "number"
                        },
                        "dependsOn": {
                          "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "id": {
                          "description": "The id of the node.",
                          "type": "string"
                        },
                        "includeOutputsInWorkflowJob": {
                          "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                          "enum": [
                            true
                          ],
                          "type": "boolean"
                        },
                        "inputs": {
                          "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                          "items": {
                            "additionalProperties": false,
                            "description": "This is used to run the flow.",
                            "properties": {
                              "allowedValues": {
                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                "items": {},
                                "type": "array"
                              },
                              "backgroundBehavior": {
                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                "enum": [
                                  "opaque",
                                  "transparent"
                                ],
                                "type": "string"
                              },
                              "color": {
                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "costImpact": {
                                "description": "Whether this input affects the model's cost calculation",
                                "type": "boolean"
                              },
                              "default": {
                                "description": "The default value for the input"
                              },
                              "description": {
                                "description": "Help text displayed in the UI to provide additional information about the input",
                                "type": "string"
                              },
                              "group": {
                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                "type": "string"
                              },
                              "hint": {
                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                "type": "string"
                              },
                              "inputs": {
                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                "items": {
                                  "additionalProperties": true,
                                  "properties": {},
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "items": {
                                "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                "items": {
                                  "items": {
                                    "additionalProperties": false,
                                    "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                    "properties": {
                                      "allowedValues": {
                                        "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                        "items": {},
                                        "type": "array"
                                      },
                                      "backgroundBehavior": {
                                        "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                        "enum": [
                                          "opaque",
                                          "transparent"
                                        ],
                                        "type": "string"
                                      },
                                      "color": {
                                        "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                        "type": "boolean"
                                      },
                                      "costImpact": {
                                        "description": "Whether this input affects the model's cost calculation",
                                        "type": "boolean"
                                      },
                                      "default": {
                                        "description": "The default value for the input"
                                      },
                                      "description": {
                                        "description": "Help text displayed in the UI to provide additional information about the input",
                                        "type": "string"
                                      },
                                      "group": {
                                        "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                        "type": "string"
                                      },
                                      "hint": {
                                        "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                        "type": "string"
                                      },
                                      "inputs": {
                                        "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                        "items": {
                                          "additionalProperties": true,
                                          "properties": {},
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "kind": {
                                        "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                        "enum": [
                                          "3d",
                                          "audio",
                                          "document",
                                          "image",
                                          "image-hdr",
                                          "json",
                                          "text",
                                          "video"
                                        ],
                                        "type": "string"
                                      },
                                      "label": {
                                        "description": "The label displayed in the UI for this input",
                                        "type": "string"
                                      },
                                      "maskFrom": {
                                        "description": "The name of the file input field to use as the mask source",
                                        "type": "string"
                                      },
                                      "max": {
                                        "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                        "type": "number"
                                      },
                                      "maxDuration": {
                                        "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                        "type": "number"
                                      },
                                      "maxLength": {
                                        "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                        "type": "number"
                                      },
                                      "maxSize": {
                                        "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                        "type": "number"
                                      },
                                      "min": {
                                        "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                        "type": "number"
                                      },
                                      "minDuration": {
                                        "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                        "type": "number"
                                      },
                                      "minLength": {
                                        "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                        "type": "number"
                                      },
                                      "modelTypes": {
                                        "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                        "items": {
                                          "enum": [
                                            "custom",
                                            "elevenlabs-voice",
                                            "flux.1",
                                            "flux.1-composition",
                                            "flux.1-kontext-dev",
                                            "flux.1-kontext-lora",
                                            "flux.1-krea-dev",
                                            "flux.1-krea-lora",
                                            "flux.1-lora",
                                            "flux.1-pro",
                                            "flux.1.1-pro-ultra",
                                            "flux.2-dev-edit-lora",
                                            "flux.2-dev-lora",
                                            "flux.2-klein-4b-edit-lora",
                                            "flux.2-klein-4b-lora",
                                            "flux.2-klein-9b-edit-lora",
                                            "flux.2-klein-9b-lora",
                                            "flux.2-klein-base-4b-edit-lora",
                                            "flux.2-klein-base-4b-lora",
                                            "flux.2-klein-base-9b-edit-lora",
                                            "flux.2-klein-base-9b-lora",
                                            "flux1.1-pro",
                                            "gpt-image-1",
                                            "qwen-image-2512-lora",
                                            "qwen-image-edit-2509-lora",
                                            "qwen-image-edit-2511-lora",
                                            "qwen-image-edit-lora",
                                            "qwen-image-lora",
                                            "zimage-de-turbo-lora",
                                            "zimage-lora",
                                            "zimage-turbo-lora"
                                          ],
                                          "type": "string"
                                        },
                                        "type": "array"
                                      },
                                      "name": {
                                        "description": "The name that must be user to call the model through the API",
                                        "type": "string"
                                      },
                                      "parent": {
                                        "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                        "type": "boolean"
                                      },
                                      "placeholder": {
                                        "description": "Placeholder text for the input. Only available for 'string' input type.",
                                        "type": "string"
                                      },
                                      "prompt": {
                                        "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                        "type": "boolean"
                                      },
                                      "promptSpark": {
                                        "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                        "type": "boolean"
                                      },
                                      "ref": {
                                        "additionalProperties": false,
                                        "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                        "properties": {
                                          "conditional": {
                                            "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          },
                                          "equal": {
                                            "description": "This is the desired node output value if ref is an if/else node.",
                                            "type": "string"
                                          },
                                          "name": {
                                            "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                            "type": "string"
                                          },
                                          "node": {
                                            "description": "The node id or 'workflow' if the source is a workflow input.",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "required": {
                                        "additionalProperties": false,
                                        "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                        "properties": {
                                          "always": {
                                            "description": "Whether the input is always required",
                                            "type": "boolean"
                                          },
                                          "conditional": {
                                            "additionalProperties": false,
                                            "description": "Makes this input required when other inputs have one of the listed values",
                                            "properties": {
                                              "operator": {
                                                "default": "and",
                                                "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                "enum": [
                                                  "and",
                                                  "or"
                                                ],
                                                "type": "string"
                                              },
                                              "values": {
                                                "additionalProperties": false,
                                                "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                "type": "object"
                                              }
                                            },
                                            "required": [
                                              "values"
                                            ],
                                            "type": "object"
                                          },
                                          "ifDefined": {
                                            "additionalProperties": false,
                                            "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                            "type": "object"
                                          },
                                          "ifNotDefined": {
                                            "additionalProperties": false,
                                            "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                            "type": "object"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "step": {
                                        "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                        "minimum": 1,
                                        "type": "number"
                                      },
                                      "type": {
                                        "description": "The data type of the input",
                                        "enum": [
                                          "boolean",
                                          "file",
                                          "file_array",
                                          "inputs_array",
                                          "model",
                                          "model_array",
                                          "number",
                                          "number_array",
                                          "string",
                                          "string_array"
                                        ],
                                        "type": "string"
                                      },
                                      "value": {
                                        "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                      }
                                    },
                                    "required": [
                                      "name",
                                      "type"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "type": "array"
                              },
                              "kind": {
                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "label": {
                                "description": "The label displayed in the UI for this input",
                                "type": "string"
                              },
                              "maskFrom": {
                                "description": "The name of the file input field to use as the mask source",
                                "type": "string"
                              },
                              "max": {
                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                "type": "number"
                              },
                              "maxDuration": {
                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "maxLength": {
                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "maxSize": {
                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                "type": "number"
                              },
                              "min": {
                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                "type": "number"
                              },
                              "minDuration": {
                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "minLength": {
                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "modelTypes": {
                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                "items": {
                                  "enum": [
                                    "custom",
                                    "elevenlabs-voice",
                                    "flux.1",
                                    "flux.1-composition",
                                    "flux.1-kontext-dev",
                                    "flux.1-kontext-lora",
                                    "flux.1-krea-dev",
                                    "flux.1-krea-lora",
                                    "flux.1-lora",
                                    "flux.1-pro",
                                    "flux.1.1-pro-ultra",
                                    "flux.2-dev-edit-lora",
                                    "flux.2-dev-lora",
                                    "flux.2-klein-4b-edit-lora",
                                    "flux.2-klein-4b-lora",
                                    "flux.2-klein-9b-edit-lora",
                                    "flux.2-klein-9b-lora",
                                    "flux.2-klein-base-4b-edit-lora",
                                    "flux.2-klein-base-4b-lora",
                                    "flux.2-klein-base-9b-edit-lora",
                                    "flux.2-klein-base-9b-lora",
                                    "flux1.1-pro",
                                    "gpt-image-1",
                                    "qwen-image-2512-lora",
                                    "qwen-image-edit-2509-lora",
                                    "qwen-image-edit-2511-lora",
                                    "qwen-image-edit-lora",
                                    "qwen-image-lora",
                                    "zimage-de-turbo-lora",
                                    "zimage-lora",
                                    "zimage-turbo-lora"
                                  ],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "name": {
                                "description": "The name that must be user to call the model through the API",
                                "type": "string"
                              },
                              "parent": {
                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                "type": "boolean"
                              },
                              "placeholder": {
                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "promptSpark": {
                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "ref": {
                                "additionalProperties": false,
                                "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                "properties": {
                                  "conditional": {
                                    "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "equal": {
                                    "description": "This is the desired node output value if ref is an if/else node.",
                                    "type": "string"
                                  },
                                  "name": {
                                    "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                    "type": "string"
                                  },
                                  "node": {
                                    "description": "The node id or 'workflow' if the source is a workflow input.",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "required": {
                                "additionalProperties": false,
                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                "properties": {
                                  "always": {
                                    "description": "Whether the input is always required",
                                    "type": "boolean"
                                  },
                                  "conditional": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when other inputs have one of the listed values",
                                    "properties": {
                                      "operator": {
                                        "default": "and",
                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                        "enum": [
                                          "and",
                                          "or"
                                        ],
                                        "type": "string"
                                      },
                                      "values": {
                                        "additionalProperties": false,
                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "values"
                                    ],
                                    "type": "object"
                                  },
                                  "ifDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  },
                                  "ifNotDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "step": {
                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                "minimum": 1,
                                "type": "number"
                              },
                              "type": {
                                "description": "The data type of the input",
                                "enum": [
                                  "boolean",
                                  "file",
                                  "file_array",
                                  "inputs_array",
                                  "model",
                                  "model_array",
                                  "number",
                                  "number_array",
                                  "string",
                                  "string_array"
                                ],
                                "type": "string"
                              },
                              "value": {
                                "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                              }
                            },
                            "required": [
                              "name",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "items": {
                          "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "iterationIndex": {
                          "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                          "type": "number"
                        },
                        "logic": {
                          "additionalProperties": false,
                          "description": "The logic of the node.\nOnly available for logic nodes.",
                          "properties": {
                            "cases": {
                              "description": "The cases of the logic.\nOnly available for if/else nodes.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "condition": {
                                    "type": "string"
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "condition",
                                  "value"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "default": {
                              "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                              "type": "string"
                            },
                            "transform": {
                              "description": "The transform of the logic.\nOnly available for transform nodes.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "logicType": {
                          "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                          "enum": [
                            "if-else"
                          ],
                          "type": "string"
                        },
                        "loopBodyNodeIds": {
                          "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "loopNodeId": {
                          "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                          "type": "string"
                        },
                        "modelId": {
                          "description": "The model id for the node. Mainly used for custom model tasks.",
                          "type": "string"
                        },
                        "type": {
                          "description": "The type of the job for the node.",
                          "enum": [
                            "custom-model",
                            "for-each",
                            "generate-prompt",
                            "list",
                            "logic",
                            "model",
                            "remove-background",
                            "transform",
                            "user-approval",
                            "user-selection",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "workflowId": {
                          "description": "The workflow id for the node. Mainly used for workflow tasks.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "type"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "inputs": {
                    "description": "The inputs of the workflow.",
                    "items": {
                      "additionalProperties": false,
                      "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                      "properties": {
                        "allowedValues": {
                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                          "items": {},
                          "type": "array"
                        },
                        "backgroundBehavior": {
                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                          "enum": [
                            "opaque",
                            "transparent"
                          ],
                          "type": "string"
                        },
                        "color": {
                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                          "type": "boolean"
                        },
                        "costImpact": {
                          "description": "Whether this input affects the model's cost calculation",
                          "type": "boolean"
                        },
                        "default": {
                          "description": "The default value for the input"
                        },
                        "description": {
                          "description": "Help text displayed in the UI to provide additional information about the input",
                          "type": "string"
                        },
                        "group": {
                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                          "type": "string"
                        },
                        "hint": {
                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                          "type": "string"
                        },
                        "inputs": {
                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                          "items": {
                            "additionalProperties": true,
                            "properties": {},
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "kind": {
                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                          "enum": [
                            "3d",
                            "audio",
                            "document",
                            "image",
                            "image-hdr",
                            "json",
                            "text",
                            "video"
                          ],
                          "type": "string"
                        },
                        "label": {
                          "description": "The label displayed in the UI for this input",
                          "type": "string"
                        },
                        "maskFrom": {
                          "description": "The name of the file input field to use as the mask source",
                          "type": "string"
                        },
                        "max": {
                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                          "type": "number"
                        },
                        "maxDuration": {
                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                          "type": "number"
                        },
                        "maxLength": {
                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                          "type": "number"
                        },
                        "maxSize": {
                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                          "type": "number"
                        },
                        "min": {
                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                          "type": "number"
                        },
                        "minDuration": {
                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                          "type": "number"
                        },
                        "minLength": {
                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                          "type": "number"
                        },
                        "modelTypes": {
                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                          "items": {
                            "enum": [
                              "custom",
                              "elevenlabs-voice",
                              "flux.1",
                              "flux.1-composition",
                              "flux.1-kontext-dev",
                              "flux.1-kontext-lora",
                              "flux.1-krea-dev",
                              "flux.1-krea-lora",
                              "flux.1-lora",
                              "flux.1-pro",
                              "flux.1.1-pro-ultra",
                              "flux.2-dev-edit-lora",
                              "flux.2-dev-lora",
                              "flux.2-klein-4b-edit-lora",
                              "flux.2-klein-4b-lora",
                              "flux.2-klein-9b-edit-lora",
                              "flux.2-klein-9b-lora",
                              "flux.2-klein-base-4b-edit-lora",
                              "flux.2-klein-base-4b-lora",
                              "flux.2-klein-base-9b-edit-lora",
                              "flux.2-klein-base-9b-lora",
                              "flux1.1-pro",
                              "gpt-image-1",
                              "qwen-image-2512-lora",
                              "qwen-image-edit-2509-lora",
                              "qwen-image-edit-2511-lora",
                              "qwen-image-edit-lora",
                              "qwen-image-lora",
                              "zimage-de-turbo-lora",
                              "zimage-lora",
                              "zimage-turbo-lora"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "name": {
                          "description": "The name that must be user to call the model through the API",
                          "type": "string"
                        },
                        "parent": {
                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                          "type": "boolean"
                        },
                        "placeholder": {
                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                          "type": "string"
                        },
                        "prompt": {
                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                          "type": "boolean"
                        },
                        "promptSpark": {
                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                          "type": "boolean"
                        },
                        "required": {
                          "additionalProperties": false,
                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                          "properties": {
                            "always": {
                              "description": "Whether the input is always required",
                              "type": "boolean"
                            },
                            "conditional": {
                              "additionalProperties": false,
                              "description": "Makes this input required when other inputs have one of the listed values",
                              "properties": {
                                "operator": {
                                  "default": "and",
                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                  "enum": [
                                    "and",
                                    "or"
                                  ],
                                  "type": "string"
                                },
                                "values": {
                                  "additionalProperties": false,
                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                  "type": "object"
                                }
                              },
                              "required": [
                                "values"
                              ],
                              "type": "object"
                            },
                            "ifDefined": {
                              "additionalProperties": false,
                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                              "type": "object"
                            },
                            "ifNotDefined": {
                              "additionalProperties": false,
                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "step": {
                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                          "minimum": 1,
                          "type": "number"
                        },
                        "type": {
                          "description": "The data type of the input",
                          "enum": [
                            "boolean",
                            "file",
                            "file_array",
                            "inputs_array",
                            "model",
                            "model_array",
                            "number",
                            "number_array",
                            "string",
                            "string_array"
                          ],
                          "type": "string"
                        }
                      },
                      "required": [
                        "name",
                        "type"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "isLocked": {
                    "description": "Set to true to lock the workflow, false to unlock.\nOnly the author or a project admin can change this.",
                    "type": "boolean"
                  },
                  "name": {
                    "description": "The name of the workflow.",
                    "type": "string"
                  },
                  "outputAssetKinds": {
                    "description": "The output asset kinds of the workflow.",
                    "items": {
                      "enum": [
                        "3d",
                        "audio",
                        "document",
                        "image",
                        "image-hdr",
                        "json",
                        "text",
                        "video"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "privacy": {
                    "description": "The privacy of the workflow.",
                    "enum": [
                      "private",
                      "public",
                      "unlisted"
                    ],
                    "type": "string"
                  },
                  "shortDescription": {
                    "description": "A short description of the workflow.\n\nUsed for display in the App UI.",
                    "type": "string"
                  },
                  "status": {
                    "description": "The status of the workflow.",
                    "enum": [
                      "draft",
                      "ready"
                    ],
                    "type": "string"
                  },
                  "tagSet": {
                    "description": "The tag set of the workflow.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "thumbnail": {
                    "description": "The thumbnail asset of the workflow. Set to null to unset the thumbnail.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "DeleteWorkflowsByWorkflowId",
        "description": "Delete workflow",
        "tags": [
          "Workflows"
        ],
        "parameters": [
          {
            "name": "workflowId",
            "in": "path",
            "required": true,
            "description": "The workflow ID to delete",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/workflows/{workflowId}/run": {
      "put": {
        "operationId": "PutWorkflowRunByWorkflowId",
        "description": "Run a workflow",
        "tags": [
          "Workflows"
        ],
        "parameters": [
          {
            "name": "workflowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dryRun",
            "in": "query",
            "required": false,
            "description": "Estimate the operation instead of running it: the call returns a 269 response carrying the creative units cost. `api` estimates at the API tier.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "api"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "workflow": {
                      "additionalProperties": false,
                      "properties": {
                        "after": {
                          "additionalProperties": false,
                          "description": "A representation of an asset after being processed by the workflow",
                          "properties": {
                            "assetId": {
                              "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                              "type": "string"
                            },
                            "url": {
                              "description": "The url of the image used as a thumbnail for your model",
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "authorId": {
                          "description": "User that created the workflow.",
                          "type": "string"
                        },
                        "before": {
                          "additionalProperties": false,
                          "description": "A representation of an asset before being processed by the workflow",
                          "properties": {
                            "assetId": {
                              "description": "The AssetId of the image used as a thumbnail for your model (example: \"asset_GTrL3mq4SXWyMxkOHRxlpw\")",
                              "type": "string"
                            },
                            "url": {
                              "description": "The url of the image used as a thumbnail for your model",
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "ISO string",
                          "type": "string"
                        },
                        "description": {
                          "description": "Full description of what the workflow does.",
                          "type": "string"
                        },
                        "editorInfo": {
                          "additionalProperties": true,
                          "description": "The UI data about the workflow. This is managed by scenario webapp.",
                          "properties": {},
                          "type": "object"
                        },
                        "embedding": {
                          "additionalProperties": false,
                          "description": "Embedding is a map of embedding version into embedding date",
                          "type": "object"
                        },
                        "flow": {
                          "description": "The flow of the workflow.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "count": {
                                "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                "type": "number"
                              },
                              "dependsOn": {
                                "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "id": {
                                "description": "The id of the node.",
                                "type": "string"
                              },
                              "includeOutputsInWorkflowJob": {
                                "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                "enum": [
                                  true
                                ],
                                "type": "boolean"
                              },
                              "inputs": {
                                "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                "items": {
                                  "additionalProperties": false,
                                  "description": "This is used to run the flow.",
                                  "properties": {
                                    "allowedValues": {
                                      "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                      "items": {},
                                      "type": "array"
                                    },
                                    "backgroundBehavior": {
                                      "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                      "enum": [
                                        "opaque",
                                        "transparent"
                                      ],
                                      "type": "string"
                                    },
                                    "color": {
                                      "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                      "type": "boolean"
                                    },
                                    "costImpact": {
                                      "description": "Whether this input affects the model's cost calculation",
                                      "type": "boolean"
                                    },
                                    "default": {
                                      "description": "The default value for the input"
                                    },
                                    "description": {
                                      "description": "Help text displayed in the UI to provide additional information about the input",
                                      "type": "string"
                                    },
                                    "group": {
                                      "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                      "type": "string"
                                    },
                                    "hint": {
                                      "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                      "type": "string"
                                    },
                                    "inputs": {
                                      "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                      "items": {
                                        "additionalProperties": true,
                                        "properties": {},
                                        "type": "object"
                                      },
                                      "type": "array"
                                    },
                                    "items": {
                                      "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                      "items": {
                                        "items": {
                                          "additionalProperties": false,
                                          "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                          "properties": {
                                            "allowedValues": {
                                              "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                              "items": {},
                                              "type": "array"
                                            },
                                            "backgroundBehavior": {
                                              "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                              "enum": [
                                                "opaque",
                                                "transparent"
                                              ],
                                              "type": "string"
                                            },
                                            "color": {
                                              "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                              "type": "boolean"
                                            },
                                            "costImpact": {
                                              "description": "Whether this input affects the model's cost calculation",
                                              "type": "boolean"
                                            },
                                            "default": {
                                              "description": "The default value for the input"
                                            },
                                            "description": {
                                              "description": "Help text displayed in the UI to provide additional information about the input",
                                              "type": "string"
                                            },
                                            "group": {
                                              "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                              "type": "string"
                                            },
                                            "hint": {
                                              "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                              "type": "string"
                                            },
                                            "inputs": {
                                              "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                              "items": {
                                                "additionalProperties": true,
                                                "properties": {},
                                                "type": "object"
                                              },
                                              "type": "array"
                                            },
                                            "kind": {
                                              "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                              "enum": [
                                                "3d",
                                                "audio",
                                                "document",
                                                "image",
                                                "image-hdr",
                                                "json",
                                                "text",
                                                "video"
                                              ],
                                              "type": "string"
                                            },
                                            "label": {
                                              "description": "The label displayed in the UI for this input",
                                              "type": "string"
                                            },
                                            "maskFrom": {
                                              "description": "The name of the file input field to use as the mask source",
                                              "type": "string"
                                            },
                                            "max": {
                                              "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                              "type": "number"
                                            },
                                            "maxDuration": {
                                              "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                              "type": "number"
                                            },
                                            "maxLength": {
                                              "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                              "type": "number"
                                            },
                                            "maxSize": {
                                              "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                              "type": "number"
                                            },
                                            "min": {
                                              "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                              "type": "number"
                                            },
                                            "minDuration": {
                                              "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                              "type": "number"
                                            },
                                            "minLength": {
                                              "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                              "type": "number"
                                            },
                                            "modelTypes": {
                                              "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                              "items": {
                                                "enum": [
                                                  "custom",
                                                  "elevenlabs-voice",
                                                  "flux.1",
                                                  "flux.1-composition",
                                                  "flux.1-kontext-dev",
                                                  "flux.1-kontext-lora",
                                                  "flux.1-krea-dev",
                                                  "flux.1-krea-lora",
                                                  "flux.1-lora",
                                                  "flux.1-pro",
                                                  "flux.1.1-pro-ultra",
                                                  "flux.2-dev-edit-lora",
                                                  "flux.2-dev-lora",
                                                  "flux.2-klein-4b-edit-lora",
                                                  "flux.2-klein-4b-lora",
                                                  "flux.2-klein-9b-edit-lora",
                                                  "flux.2-klein-9b-lora",
                                                  "flux.2-klein-base-4b-edit-lora",
                                                  "flux.2-klein-base-4b-lora",
                                                  "flux.2-klein-base-9b-edit-lora",
                                                  "flux.2-klein-base-9b-lora",
                                                  "flux1.1-pro",
                                                  "gpt-image-1",
                                                  "qwen-image-2512-lora",
                                                  "qwen-image-edit-2509-lora",
                                                  "qwen-image-edit-2511-lora",
                                                  "qwen-image-edit-lora",
                                                  "qwen-image-lora",
                                                  "zimage-de-turbo-lora",
                                                  "zimage-lora",
                                                  "zimage-turbo-lora"
                                                ],
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "name": {
                                              "description": "The name that must be user to call the model through the API",
                                              "type": "string"
                                            },
                                            "parent": {
                                              "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                              "type": "boolean"
                                            },
                                            "placeholder": {
                                              "description": "Placeholder text for the input. Only available for 'string' input type.",
                                              "type": "string"
                                            },
                                            "prompt": {
                                              "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                              "type": "boolean"
                                            },
                                            "promptSpark": {
                                              "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                              "type": "boolean"
                                            },
                                            "ref": {
                                              "additionalProperties": false,
                                              "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                              "properties": {
                                                "conditional": {
                                                  "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "equal": {
                                                  "description": "This is the desired node output value if ref is an if/else node.",
                                                  "type": "string"
                                                },
                                                "name": {
                                                  "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                  "type": "string"
                                                },
                                                "node": {
                                                  "description": "The node id or 'workflow' if the source is a workflow input.",
                                                  "type": "string"
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "required": {
                                              "additionalProperties": false,
                                              "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                              "properties": {
                                                "always": {
                                                  "description": "Whether the input is always required",
                                                  "type": "boolean"
                                                },
                                                "conditional": {
                                                  "additionalProperties": false,
                                                  "description": "Makes this input required when other inputs have one of the listed values",
                                                  "properties": {
                                                    "operator": {
                                                      "default": "and",
                                                      "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                      "enum": [
                                                        "and",
                                                        "or"
                                                      ],
                                                      "type": "string"
                                                    },
                                                    "values": {
                                                      "additionalProperties": false,
                                                      "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "required": [
                                                    "values"
                                                  ],
                                                  "type": "object"
                                                },
                                                "ifDefined": {
                                                  "additionalProperties": false,
                                                  "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                  "type": "object"
                                                },
                                                "ifNotDefined": {
                                                  "additionalProperties": false,
                                                  "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                  "type": "object"
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "step": {
                                              "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                              "minimum": 1,
                                              "type": "number"
                                            },
                                            "type": {
                                              "description": "The data type of the input",
                                              "enum": [
                                                "boolean",
                                                "file",
                                                "file_array",
                                                "inputs_array",
                                                "model",
                                                "model_array",
                                                "number",
                                                "number_array",
                                                "string",
                                                "string_array"
                                              ],
                                              "type": "string"
                                            },
                                            "value": {
                                              "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "type"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "type": "array"
                                    },
                                    "kind": {
                                      "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                      "enum": [
                                        "3d",
                                        "audio",
                                        "document",
                                        "image",
                                        "image-hdr",
                                        "json",
                                        "text",
                                        "video"
                                      ],
                                      "type": "string"
                                    },
                                    "label": {
                                      "description": "The label displayed in the UI for this input",
                                      "type": "string"
                                    },
                                    "maskFrom": {
                                      "description": "The name of the file input field to use as the mask source",
                                      "type": "string"
                                    },
                                    "max": {
                                      "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                      "type": "number"
                                    },
                                    "maxDuration": {
                                      "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                      "type": "number"
                                    },
                                    "maxLength": {
                                      "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                      "type": "number"
                                    },
                                    "maxSize": {
                                      "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                      "type": "number"
                                    },
                                    "min": {
                                      "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                      "type": "number"
                                    },
                                    "minDuration": {
                                      "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                      "type": "number"
                                    },
                                    "minLength": {
                                      "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                      "type": "number"
                                    },
                                    "modelTypes": {
                                      "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                      "items": {
                                        "enum": [
                                          "custom",
                                          "elevenlabs-voice",
                                          "flux.1",
                                          "flux.1-composition",
                                          "flux.1-kontext-dev",
                                          "flux.1-kontext-lora",
                                          "flux.1-krea-dev",
                                          "flux.1-krea-lora",
                                          "flux.1-lora",
                                          "flux.1-pro",
                                          "flux.1.1-pro-ultra",
                                          "flux.2-dev-edit-lora",
                                          "flux.2-dev-lora",
                                          "flux.2-klein-4b-edit-lora",
                                          "flux.2-klein-4b-lora",
                                          "flux.2-klein-9b-edit-lora",
                                          "flux.2-klein-9b-lora",
                                          "flux.2-klein-base-4b-edit-lora",
                                          "flux.2-klein-base-4b-lora",
                                          "flux.2-klein-base-9b-edit-lora",
                                          "flux.2-klein-base-9b-lora",
                                          "flux1.1-pro",
                                          "gpt-image-1",
                                          "qwen-image-2512-lora",
                                          "qwen-image-edit-2509-lora",
                                          "qwen-image-edit-2511-lora",
                                          "qwen-image-edit-lora",
                                          "qwen-image-lora",
                                          "zimage-de-turbo-lora",
                                          "zimage-lora",
                                          "zimage-turbo-lora"
                                        ],
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "name": {
                                      "description": "The name that must be user to call the model through the API",
                                      "type": "string"
                                    },
                                    "parent": {
                                      "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                      "type": "boolean"
                                    },
                                    "placeholder": {
                                      "description": "Placeholder text for the input. Only available for 'string' input type.",
                                      "type": "string"
                                    },
                                    "prompt": {
                                      "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                      "type": "boolean"
                                    },
                                    "promptSpark": {
                                      "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                      "type": "boolean"
                                    },
                                    "ref": {
                                      "additionalProperties": false,
                                      "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                      "properties": {
                                        "conditional": {
                                          "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "equal": {
                                          "description": "This is the desired node output value if ref is an if/else node.",
                                          "type": "string"
                                        },
                                        "name": {
                                          "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                          "type": "string"
                                        },
                                        "node": {
                                          "description": "The node id or 'workflow' if the source is a workflow input.",
                                          "type": "string"
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "required": {
                                      "additionalProperties": false,
                                      "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                      "properties": {
                                        "always": {
                                          "description": "Whether the input is always required",
                                          "type": "boolean"
                                        },
                                        "conditional": {
                                          "additionalProperties": false,
                                          "description": "Makes this input required when other inputs have one of the listed values",
                                          "properties": {
                                            "operator": {
                                              "default": "and",
                                              "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                              "enum": [
                                                "and",
                                                "or"
                                              ],
                                              "type": "string"
                                            },
                                            "values": {
                                              "additionalProperties": false,
                                              "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                              "type": "object"
                                            }
                                          },
                                          "required": [
                                            "values"
                                          ],
                                          "type": "object"
                                        },
                                        "ifDefined": {
                                          "additionalProperties": false,
                                          "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                          "type": "object"
                                        },
                                        "ifNotDefined": {
                                          "additionalProperties": false,
                                          "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                          "type": "object"
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "step": {
                                      "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                      "minimum": 1,
                                      "type": "number"
                                    },
                                    "type": {
                                      "description": "The data type of the input",
                                      "enum": [
                                        "boolean",
                                        "file",
                                        "file_array",
                                        "inputs_array",
                                        "model",
                                        "model_array",
                                        "number",
                                        "number_array",
                                        "string",
                                        "string_array"
                                      ],
                                      "type": "string"
                                    },
                                    "value": {
                                      "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                    }
                                  },
                                  "required": [
                                    "name",
                                    "type"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "items": {
                                "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "iterationIndex": {
                                "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                "type": "number"
                              },
                              "logic": {
                                "additionalProperties": false,
                                "description": "The logic of the node.\nOnly available for logic nodes.",
                                "properties": {
                                  "cases": {
                                    "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "condition": {
                                          "type": "string"
                                        },
                                        "value": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "condition",
                                        "value"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "default": {
                                    "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                    "type": "string"
                                  },
                                  "transform": {
                                    "description": "The transform of the logic.\nOnly available for transform nodes.",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "logicType": {
                                "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                "enum": [
                                  "if-else"
                                ],
                                "type": "string"
                              },
                              "loopBodyNodeIds": {
                                "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "loopNodeId": {
                                "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                "type": "string"
                              },
                              "modelId": {
                                "description": "The model id for the node. Mainly used for custom model tasks.",
                                "type": "string"
                              },
                              "type": {
                                "description": "The type of the job for the node.",
                                "enum": [
                                  "custom-model",
                                  "for-each",
                                  "generate-prompt",
                                  "list",
                                  "logic",
                                  "model",
                                  "remove-background",
                                  "transform",
                                  "user-approval",
                                  "user-selection",
                                  "workflow"
                                ],
                                "type": "string"
                              },
                              "workflowId": {
                                "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "id",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "hasFlow": {
                          "description": "Whether the workflow has a non-empty flow. Present even when `flow` itself\nis not, so an empty workflow can be told apart from a populated one.",
                          "type": "boolean"
                        },
                        "id": {
                          "description": "Unique identifier of the workflow.",
                          "type": "string"
                        },
                        "inputs": {
                          "description": "The inputs of the workflow.",
                          "items": {
                            "additionalProperties": false,
                            "description": "Defines the input parameters for a model. Use this to understand the available input parameters\nfor a given `modelId` when calling `POST /generate/custom/{modelId}`.\nSee {@link https://docs.scenario.com/get-started/generation/video-generation} for examples.",
                            "properties": {
                              "allowedValues": {
                                "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                "items": {},
                                "type": "array"
                              },
                              "backgroundBehavior": {
                                "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                "enum": [
                                  "opaque",
                                  "transparent"
                                ],
                                "type": "string"
                              },
                              "color": {
                                "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "costImpact": {
                                "description": "Whether this input affects the model's cost calculation",
                                "type": "boolean"
                              },
                              "default": {
                                "description": "The default value for the input"
                              },
                              "description": {
                                "description": "Help text displayed in the UI to provide additional information about the input",
                                "type": "string"
                              },
                              "group": {
                                "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                "type": "string"
                              },
                              "hint": {
                                "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                "type": "string"
                              },
                              "inputs": {
                                "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                "items": {
                                  "additionalProperties": true,
                                  "properties": {},
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "kind": {
                                "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                "enum": [
                                  "3d",
                                  "audio",
                                  "document",
                                  "image",
                                  "image-hdr",
                                  "json",
                                  "text",
                                  "video"
                                ],
                                "type": "string"
                              },
                              "label": {
                                "description": "The label displayed in the UI for this input",
                                "type": "string"
                              },
                              "maskFrom": {
                                "description": "The name of the file input field to use as the mask source",
                                "type": "string"
                              },
                              "max": {
                                "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                "type": "number"
                              },
                              "maxDuration": {
                                "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "maxLength": {
                                "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "maxSize": {
                                "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                "type": "number"
                              },
                              "min": {
                                "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                "type": "number"
                              },
                              "minDuration": {
                                "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                "type": "number"
                              },
                              "minLength": {
                                "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                "type": "number"
                              },
                              "modelTypes": {
                                "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                "items": {
                                  "enum": [
                                    "custom",
                                    "elevenlabs-voice",
                                    "flux.1",
                                    "flux.1-composition",
                                    "flux.1-kontext-dev",
                                    "flux.1-kontext-lora",
                                    "flux.1-krea-dev",
                                    "flux.1-krea-lora",
                                    "flux.1-lora",
                                    "flux.1-pro",
                                    "flux.1.1-pro-ultra",
                                    "flux.2-dev-edit-lora",
                                    "flux.2-dev-lora",
                                    "flux.2-klein-4b-edit-lora",
                                    "flux.2-klein-4b-lora",
                                    "flux.2-klein-9b-edit-lora",
                                    "flux.2-klein-9b-lora",
                                    "flux.2-klein-base-4b-edit-lora",
                                    "flux.2-klein-base-4b-lora",
                                    "flux.2-klein-base-9b-edit-lora",
                                    "flux.2-klein-base-9b-lora",
                                    "flux1.1-pro",
                                    "gpt-image-1",
                                    "qwen-image-2512-lora",
                                    "qwen-image-edit-2509-lora",
                                    "qwen-image-edit-2511-lora",
                                    "qwen-image-edit-lora",
                                    "qwen-image-lora",
                                    "zimage-de-turbo-lora",
                                    "zimage-lora",
                                    "zimage-turbo-lora"
                                  ],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "name": {
                                "description": "The name that must be user to call the model through the API",
                                "type": "string"
                              },
                              "parent": {
                                "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                "type": "boolean"
                              },
                              "placeholder": {
                                "description": "Placeholder text for the input. Only available for 'string' input type.",
                                "type": "string"
                              },
                              "prompt": {
                                "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "promptSpark": {
                                "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                "type": "boolean"
                              },
                              "required": {
                                "additionalProperties": false,
                                "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                "properties": {
                                  "always": {
                                    "description": "Whether the input is always required",
                                    "type": "boolean"
                                  },
                                  "conditional": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when other inputs have one of the listed values",
                                    "properties": {
                                      "operator": {
                                        "default": "and",
                                        "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                        "enum": [
                                          "and",
                                          "or"
                                        ],
                                        "type": "string"
                                      },
                                      "values": {
                                        "additionalProperties": false,
                                        "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "values"
                                    ],
                                    "type": "object"
                                  },
                                  "ifDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  },
                                  "ifNotDefined": {
                                    "additionalProperties": false,
                                    "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "step": {
                                "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                "minimum": 1,
                                "type": "number"
                              },
                              "type": {
                                "description": "The data type of the input",
                                "enum": [
                                  "boolean",
                                  "file",
                                  "file_array",
                                  "inputs_array",
                                  "model",
                                  "model_array",
                                  "number",
                                  "number_array",
                                  "string",
                                  "string_array"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "name",
                              "type"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "isLocked": {
                          "default": false,
                          "description": "Whether the workflow is locked. Locked workflows cannot be modified or deleted\nexcept by the author or a project admin.",
                          "type": "boolean"
                        },
                        "lastIndexedAt": {
                          "format": "date-time",
                          "type": "string"
                        },
                        "lastIndexingType": {
                          "description": "The type of indexing operation to perform in MeiliSearch",
                          "enum": [
                            "CREATE",
                            "DELETE",
                            "UPDATE"
                          ],
                          "type": "string"
                        },
                        "lastReadyFlowUpdatedAt": {
                          "description": "Timestamp when the workflow flow was last saved as a Ready (App) snapshot.\nUsed to compute the WorkflowNodes snapshot key.\nOnly set for workflows that have been in the Ready state.",
                          "format": "date-time",
                          "type": "string"
                        },
                        "lockedStateChangedAt": {
                          "description": "ISO string timestamp when lock state was last changed.",
                          "type": "string"
                        },
                        "lockedStateChangedBy": {
                          "description": "UserId of the user who last changed the lock state.",
                          "type": "string"
                        },
                        "name": {
                          "description": "Human-readable name of the workflow.",
                          "type": "string"
                        },
                        "outputAssetKinds": {
                          "description": "Asset kinds produced by this workflow (if specified).",
                          "items": {
                            "enum": [
                              "3d",
                              "audio",
                              "document",
                              "image",
                              "image-hdr",
                              "json",
                              "text",
                              "video"
                            ],
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "ownerId": {
                          "description": "Project that owns the workflow.",
                          "type": "string"
                        },
                        "privacy": {
                          "description": "Visibility setting for the workflow.",
                          "enum": [
                            "private",
                            "public",
                            "unlisted"
                          ],
                          "type": "string"
                        },
                        "shortDescription": {
                          "description": "Short summary of the workflow.",
                          "type": "string"
                        },
                        "status": {
                          "description": "Current lifecycle status (draft, ready, deleted).",
                          "enum": [
                            "deleted",
                            "draft",
                            "ready"
                          ],
                          "type": "string"
                        },
                        "tagSet": {
                          "description": "The tag set of the workflow.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "thumbnail": {
                          "additionalProperties": false,
                          "description": "Currently the thumbnail is identical to the after asset.",
                          "properties": {
                            "assetId": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "assetId",
                            "url"
                          ],
                          "type": "object"
                        },
                        "uiConfig": {
                          "additionalProperties": false,
                          "description": "The UI configuration for the workflow. This is managed by scenario webapp.",
                          "properties": {
                            "inputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "collapsed": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object"
                              },
                              "description": "Configuration for the input properties",
                              "type": "object"
                            },
                            "lorasComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the loras component",
                              "properties": {
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "modelIdInput": {
                                  "description": "The input model id (example: a composition or a single LoRA modelId)\nIf specified, the model id will be attached to the output asset as a metadata\nIf the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated",
                                  "type": "string"
                                },
                                "modelInput": {
                                  "description": "The input name of the model (model_array)",
                                  "type": "string"
                                },
                                "scaleInput": {
                                  "description": "The input name of the scale (number_array)",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label",
                                "modelInput",
                                "scaleInput"
                              ],
                              "type": "object"
                            },
                            "outputProperties": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "properties": {
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "label"
                                ],
                                "type": "object"
                              },
                              "description": "Configuration for the provider outputs exposed by `exposeOutput`",
                              "type": "object"
                            },
                            "presets": {
                              "description": "Configuration for the presets",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "fields": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "presets": {
                                    "additionalProperties": false,
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "fields",
                                  "presets"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "resolutionComponent": {
                              "additionalProperties": false,
                              "description": "Configuration for the resolution component",
                              "properties": {
                                "heightInput": {
                                  "description": "The input name of the height",
                                  "type": "string"
                                },
                                "label": {
                                  "description": "The label of the component",
                                  "type": "string"
                                },
                                "presets": {
                                  "description": "The resolution presets",
                                  "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "height": {
                                        "type": "number"
                                      },
                                      "label": {
                                        "type": "string"
                                      },
                                      "width": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "height",
                                      "label",
                                      "width"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array"
                                },
                                "widthInput": {
                                  "description": "The input name of the width",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "heightInput",
                                "label",
                                "presets",
                                "widthInput"
                              ],
                              "type": "object"
                            },
                            "selects": {
                              "additionalProperties": {
                                "additionalProperties": false,
                                "type": "object"
                              },
                              "description": "Configuration for the selects",
                              "type": "object"
                            },
                            "triggerGenerate": {
                              "additionalProperties": false,
                              "description": "Configuration for the trigger generate button",
                              "properties": {
                                "after": {
                                  "description": "The 'name' of the input where the trigger generate button will be displayed (after the input).\nDo not specify both position and after.",
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "position": {
                                  "description": "The position of the trigger generate button. If position specified, the button will be displayed at the specified position.\nDo not specify both position and after.",
                                  "enum": [
                                    "bottom",
                                    "top"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "label"
                              ],
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "updatedAt": {
                          "description": "ISO string",
                          "type": "string"
                        }
                      },
                      "required": [
                        "authorId",
                        "createdAt",
                        "description",
                        "editorInfo",
                        "flow",
                        "hasFlow",
                        "id",
                        "inputs",
                        "name",
                        "ownerId",
                        "privacy",
                        "shortDescription",
                        "status",
                        "tagSet",
                        "updatedAt"
                      ],
                      "type": "object"
                    },
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "workflow",
                    "job"
                  ]
                }
              }
            }
          },
          "269": {
            "description": "Dry run — estimated Creative Units cost, nothing is executed nor consumed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Dry run cost estimation",
                  "properties": {
                    "costDetails": {
                      "additionalProperties": false,
                      "description": "Compute Units cost per billing action for this request, after discount.\nValues sum to `creativeUnitsCost`. Only Compute-Units-consuming actions\nwith a non-zero charge appear. Lets clients split the total (e.g.\ngeneration vs `quality-gate`) — including on dryRun estimates.",
                      "properties": {
                        "assistant-message": {
                          "type": "number"
                        },
                        "caption": {
                          "type": "number"
                        },
                        "custom-generation": {
                          "type": "number"
                        },
                        "describe-style": {
                          "type": "number"
                        },
                        "detection": {
                          "type": "number"
                        },
                        "embed": {
                          "type": "number"
                        },
                        "image-prompt-editing": {
                          "type": "number"
                        },
                        "inference-images": {
                          "type": "number"
                        },
                        "ip-detection": {
                          "type": "number"
                        },
                        "pixelate": {
                          "type": "number"
                        },
                        "prompt": {
                          "type": "number"
                        },
                        "quality-gate": {
                          "type": "number"
                        },
                        "remove-background": {
                          "type": "number"
                        },
                        "repaint": {
                          "type": "number"
                        },
                        "restyle": {
                          "type": "number"
                        },
                        "segmentation": {
                          "type": "number"
                        },
                        "skybox-base-360": {
                          "type": "number"
                        },
                        "skybox-upscale-360": {
                          "type": "number"
                        },
                        "texture": {
                          "type": "number"
                        },
                        "train-model": {
                          "type": "number"
                        },
                        "translate": {
                          "type": "number"
                        },
                        "upscale": {
                          "type": "number"
                        },
                        "vectorization": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "creativeUnitsCost": {
                      "description": "The Compute Units cost for the request billed",
                      "type": "number"
                    },
                    "creativeUnitsDiscount": {
                      "description": "The Compute Units discount for the request billed",
                      "type": "number"
                    },
                    "ipDetection": {
                      "additionalProperties": false,
                      "description": "IP detection findings, when detection ran for this request.",
                      "properties": {
                        "action": {
                          "description": "Whether and how detection affected the request.",
                          "enum": [
                            "allowed",
                            "blocked",
                            "flagged"
                          ],
                          "type": "string"
                        },
                        "analyzedImagesCount": {
                          "description": "Number of images the detectors actually analyzed — a video counts as each\nof its extracted frames, and an image that could not be read is excluded\n(and not billed). Each of them is priced once per enabled filter.",
                          "type": "number"
                        },
                        "creativeUnitsCharged": {
                          "description": "IP-detection CU fee, separate from creativeUnitsCost: it follows the\nprovider tokens the run sends — the prompt plus every analyzed image, once\nper enabled filter — with a 1 CU minimum per run.",
                          "type": "number"
                        },
                        "evaluatedFilters": {
                          "description": "Number of enabled filters evaluated for this request.",
                          "type": "number"
                        },
                        "findings": {
                          "description": "Per-filter verdicts gathered for this request.",
                          "items": {
                            "additionalProperties": false,
                            "description": "A single filter's verdict.",
                            "properties": {
                              "category": {
                                "description": "Category of the filter that produced this verdict.",
                                "enum": [
                                  "artist-style",
                                  "brand-trademark",
                                  "celebrity-likeness",
                                  "custom",
                                  "fictional-character"
                                ],
                                "type": "string"
                              },
                              "confidence": {
                                "description": "Confidence score from 0 (low) to 1 (high).",
                                "type": "number"
                              },
                              "entities": {
                                "description": "Named entities the filter recognized (e.g. characters, brands, people).",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "filterId": {
                                "description": "Identifier of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "filterName": {
                                "description": "Display name of the filter that produced this verdict.",
                                "type": "string"
                              },
                              "flagged": {
                                "description": "Whether this filter considered the request an IP risk.",
                                "type": "boolean"
                              },
                              "reason": {
                                "description": "Short, user-facing explanation of the verdict.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "category",
                              "confidence",
                              "filterId",
                              "filterName",
                              "flagged",
                              "reason"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "flagged": {
                          "description": "Whether a filter considered the inputs an IP risk. Independent of `action`:\na request blocked because a detector errored is `blocked` and NOT flagged.",
                          "type": "boolean"
                        },
                        "hasDetectorError": {
                          "description": "True if one or more detectors errored while evaluating this request.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "action",
                        "analyzedImagesCount",
                        "creativeUnitsCharged",
                        "evaluatedFilters",
                        "findings",
                        "flagged"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "creativeUnitsCost"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "description": "The request body for the workflow run must be retrieve from GET /workflows/{workflowId} inputs fields"
              }
            }
          }
        }
      }
    },
    "/workflows/{workflowId}/user-approval": {
      "put": {
        "operationId": "PutWorkflowUserApprovalByWorkflowId",
        "description": "Respond to a user-approval node in a workflow. Pass action=\"approve\" (default) to advance the workflow, or action=\"reject\" to mark the node Rejected and cancel the workflow, even inside a ForEach iteration (other iterations are left as-is).",
        "tags": [
          "Workflows"
        ],
        "parameters": [
          {
            "name": "workflowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": true,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "workflowJobId": {
                    "description": "The ID of the workflow job that contains the user approval node",
                    "type": "string"
                  },
                  "nodeId": {
                    "description": "The ID of the user approval node to act on in the workflow",
                    "type": "string"
                  },
                  "action": {
                    "description": "Decision taken on the approval node. \"approve\" marks it Success and advances the workflow; \"reject\" marks it Rejected and cancels the workflow, even inside a ForEach iteration (other iterations are left as-is). Defaults to \"approve\" for backward compatibility.",
                    "type": "string",
                    "enum": [
                      "approve",
                      "reject"
                    ]
                  }
                },
                "required": [
                  "workflowJobId",
                  "nodeId"
                ]
              }
            }
          }
        }
      }
    },
    "/workflows/{workflowId}/user-selection": {
      "put": {
        "operationId": "PutWorkflowUserSelectionByWorkflowId",
        "description": "Respond to a user-selection node in a workflow. Pass action=\"select\" with selectedIndices to pick items and resume the workflow, or action=\"reject\" to mark the node Rejected and cancel the workflow.",
        "tags": [
          "Workflows"
        ],
        "parameters": [
          {
            "name": "workflowId",
            "in": "path",
            "required": true,
            "description": "The workflow ID containing the user-selection node",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "query",
            "required": true,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "job": {
                      "additionalProperties": false,
                      "properties": {
                        "authorId": {
                          "description": "The author user ID (example: \"dcf121faaa1a0a0bbbd9ca1b73d62aea\")",
                          "type": "string"
                        },
                        "billing": {
                          "additionalProperties": false,
                          "description": "The billing of the job",
                          "properties": {
                            "cuCost": {
                              "type": "number"
                            },
                            "cuCostDetails": {
                              "additionalProperties": false,
                              "description": "Compute Units charged for the ADD-ONS of this job, per action — the fees\npaid on top of the generation itself, such as `quality-gate`.\n\n`cuCost` above is the main action alone, so the job's total is `cuCost`\nplus the values here.\n\nTwo caveats when displaying it:\n- These are a remaining refundable balance, not a receipt: a job that\n  failed or was cancelled has had its add-ons refunded, so they read 0\n  while `cuCost` still shows the main action's original charge.\n- `ip-detection` is part of the shape but is never populated today: that\n  fee is charged outside the job and reported once, as\n  `ipDetection.creativeUnitsCharged`, in the response of the request that\n  ran it.\n\nAbsent when the job paid for no add-on.",
                              "properties": {
                                "ip-detection": {
                                  "type": "number"
                                },
                                "quality-gate": {
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "cuDiscount": {
                              "type": "number"
                            },
                            "disableRefund": {
                              "description": "When true, the credits charged for this job are not automatically\nrefunded if the generation fails, because the model used does not\nsupport refund-on-failure. Absent or false means a failed generation is\nrefunded as usual.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "cuCost",
                            "cuDiscount"
                          ],
                          "type": "object"
                        },
                        "createdAt": {
                          "description": "The job creation date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        },
                        "jobId": {
                          "description": "The job ID (example: \"job_ocZCnG1Df35XRL1QyCZSRxAG8\")",
                          "type": "string"
                        },
                        "jobType": {
                          "description": "The type of job",
                          "enum": [
                            "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",
                            "splat",
                            "texture",
                            "translate",
                            "upload",
                            "upscale",
                            "upscale-skybox",
                            "upscale-texture",
                            "vectorize",
                            "workflow"
                          ],
                          "type": "string"
                        },
                        "metadata": {
                          "additionalProperties": false,
                          "description": "Metadata of the job with some additional information",
                          "properties": {
                            "assetIds": {
                              "description": "List of produced assets for this job",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "error": {
                              "description": "Eventual error for the job",
                              "type": "string",
                              "nullable": true
                            },
                            "flow": {
                              "description": "The flow of the job. Only available for workflow jobs.",
                              "items": {
                                "additionalProperties": false,
                                "properties": {
                                  "assets": {
                                    "description": "List of produced assets for this node.",
                                    "items": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "assetId": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "assetId",
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "description": "Fixed number of iterations for a ForEach node.\nWhen set, the loop runs exactly `count` times regardless of array input.\nWhen not set, the loop iterates over the resolved array input.\nOnly available for ForEach nodes.",
                                    "type": "number"
                                  },
                                  "dependsOn": {
                                    "description": "The nodes that this node depends on.\nOnly available for nodes that have dependencies. Mainly used for user approval nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "The id of the node.",
                                    "type": "string"
                                  },
                                  "includeOutputsInWorkflowJob": {
                                    "description": "If true, the outputs of this node will be included in the workflow job's final output.\nOnly applicable to producing nodes (custom-model, inference, etc.).\nBy default, only last nodes (nodes not referenced by other nodes) contribute to outputs.\nSet this to true to also include intermediate nodes in the final output.\nNote: This should only be set to `true` or left undefined.",
                                    "enum": [
                                      true
                                    ],
                                    "type": "boolean"
                                  },
                                  "inputs": {
                                    "description": "The inputs of the node.\nFor a user-selection node, the array input's `min`/`max` bound how many\nitems the user may pick (defaults: 1 and 100); conditional connections may\nbe present as additional inputs.",
                                    "items": {
                                      "additionalProperties": false,
                                      "description": "This is used to run the flow.",
                                      "properties": {
                                        "allowedValues": {
                                          "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                          "items": {},
                                          "type": "array"
                                        },
                                        "backgroundBehavior": {
                                          "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                          "enum": [
                                            "opaque",
                                            "transparent"
                                          ],
                                          "type": "string"
                                        },
                                        "color": {
                                          "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "costImpact": {
                                          "description": "Whether this input affects the model's cost calculation",
                                          "type": "boolean"
                                        },
                                        "default": {
                                          "description": "The default value for the input"
                                        },
                                        "description": {
                                          "description": "Help text displayed in the UI to provide additional information about the input",
                                          "type": "string"
                                        },
                                        "group": {
                                          "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                          "type": "string"
                                        },
                                        "hint": {
                                          "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                          "type": "string"
                                        },
                                        "inputs": {
                                          "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                          "items": {
                                            "additionalProperties": true,
                                            "properties": {},
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "items": {
                                          "description": "The configured items for inputs_array type inputs.\nEach item is an array of SubNodeInput that need ref/value resolution.\nOnly available for inputs_array type.",
                                          "items": {
                                            "items": {
                                              "additionalProperties": false,
                                              "description": "A sub-input within an inputs_array item.\nSame as NodeInput but without the recursive items field.",
                                              "properties": {
                                                "allowedValues": {
                                                  "description": "The allowed values for the input. For \\`string\\` or \\`number\\` types, creates a single-select\ndropdown.\nFor \\`string_array\\` type, creates a multi-select dropdown.",
                                                  "items": {},
                                                  "type": "array"
                                                },
                                                "backgroundBehavior": {
                                                  "description": "Specifies the background behavior for the input. Only available for \\`file\\` and \\`file_array\\`\ninput types with kind \\`image\\`.",
                                                  "enum": [
                                                    "opaque",
                                                    "transparent"
                                                  ],
                                                  "type": "string"
                                                },
                                                "color": {
                                                  "description": "Whether the input is a color or not. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "costImpact": {
                                                  "description": "Whether this input affects the model's cost calculation",
                                                  "type": "boolean"
                                                },
                                                "default": {
                                                  "description": "The default value for the input"
                                                },
                                                "description": {
                                                  "description": "Help text displayed in the UI to provide additional information about the input",
                                                  "type": "string"
                                                },
                                                "group": {
                                                  "description": "Used to visually group inputs together in the UI. Inputs with the same group value appear\nconsecutively in the UI.",
                                                  "type": "string"
                                                },
                                                "hint": {
                                                  "description": "Hint text displayed in the UI as a tooltip to guide the user",
                                                  "type": "string"
                                                },
                                                "inputs": {
                                                  "description": "The list of inputs which form an object within a container array.\nAll inputs are the same as the current object.\nThis is only available for type inputs_array inputs.",
                                                  "items": {
                                                    "additionalProperties": true,
                                                    "properties": {},
                                                    "type": "object"
                                                  },
                                                  "type": "array"
                                                },
                                                "kind": {
                                                  "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                                  "enum": [
                                                    "3d",
                                                    "audio",
                                                    "document",
                                                    "image",
                                                    "image-hdr",
                                                    "json",
                                                    "text",
                                                    "video"
                                                  ],
                                                  "type": "string"
                                                },
                                                "label": {
                                                  "description": "The label displayed in the UI for this input",
                                                  "type": "string"
                                                },
                                                "maskFrom": {
                                                  "description": "The name of the file input field to use as the mask source",
                                                  "type": "string"
                                                },
                                                "max": {
                                                  "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                                  "type": "number"
                                                },
                                                "maxDuration": {
                                                  "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "maxLength": {
                                                  "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "maxSize": {
                                                  "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "min": {
                                                  "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                                  "type": "number"
                                                },
                                                "minDuration": {
                                                  "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                                  "type": "number"
                                                },
                                                "minLength": {
                                                  "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                                  "type": "number"
                                                },
                                                "modelTypes": {
                                                  "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                                  "items": {
                                                    "enum": [
                                                      "custom",
                                                      "elevenlabs-voice",
                                                      "flux.1",
                                                      "flux.1-composition",
                                                      "flux.1-kontext-dev",
                                                      "flux.1-kontext-lora",
                                                      "flux.1-krea-dev",
                                                      "flux.1-krea-lora",
                                                      "flux.1-lora",
                                                      "flux.1-pro",
                                                      "flux.1.1-pro-ultra",
                                                      "flux.2-dev-edit-lora",
                                                      "flux.2-dev-lora",
                                                      "flux.2-klein-4b-edit-lora",
                                                      "flux.2-klein-4b-lora",
                                                      "flux.2-klein-9b-edit-lora",
                                                      "flux.2-klein-9b-lora",
                                                      "flux.2-klein-base-4b-edit-lora",
                                                      "flux.2-klein-base-4b-lora",
                                                      "flux.2-klein-base-9b-edit-lora",
                                                      "flux.2-klein-base-9b-lora",
                                                      "flux1.1-pro",
                                                      "gpt-image-1",
                                                      "qwen-image-2512-lora",
                                                      "qwen-image-edit-2509-lora",
                                                      "qwen-image-edit-2511-lora",
                                                      "qwen-image-edit-lora",
                                                      "qwen-image-lora",
                                                      "zimage-de-turbo-lora",
                                                      "zimage-lora",
                                                      "zimage-turbo-lora"
                                                    ],
                                                    "type": "string"
                                                  },
                                                  "type": "array"
                                                },
                                                "name": {
                                                  "description": "The name that must be user to call the model through the API",
                                                  "type": "string"
                                                },
                                                "parent": {
                                                  "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                                  "type": "boolean"
                                                },
                                                "placeholder": {
                                                  "description": "Placeholder text for the input. Only available for 'string' input type.",
                                                  "type": "string"
                                                },
                                                "prompt": {
                                                  "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "promptSpark": {
                                                  "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                                  "type": "boolean"
                                                },
                                                "ref": {
                                                  "additionalProperties": false,
                                                  "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                                  "properties": {
                                                    "conditional": {
                                                      "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array"
                                                    },
                                                    "equal": {
                                                      "description": "This is the desired node output value if ref is an if/else node.",
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                                      "type": "string"
                                                    },
                                                    "node": {
                                                      "description": "The node id or 'workflow' if the source is a workflow input.",
                                                      "type": "string"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "required": {
                                                  "additionalProperties": false,
                                                  "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                                  "properties": {
                                                    "always": {
                                                      "description": "Whether the input is always required",
                                                      "type": "boolean"
                                                    },
                                                    "conditional": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when other inputs have one of the listed values",
                                                      "properties": {
                                                        "operator": {
                                                          "default": "and",
                                                          "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                          "enum": [
                                                            "and",
                                                            "or"
                                                          ],
                                                          "type": "string"
                                                        },
                                                        "values": {
                                                          "additionalProperties": false,
                                                          "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                          "type": "object"
                                                        }
                                                      },
                                                      "required": [
                                                        "values"
                                                      ],
                                                      "type": "object"
                                                    },
                                                    "ifDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    },
                                                    "ifNotDefined": {
                                                      "additionalProperties": false,
                                                      "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                                      "type": "object"
                                                    }
                                                  },
                                                  "type": "object"
                                                },
                                                "step": {
                                                  "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                                  "minimum": 1,
                                                  "type": "number"
                                                },
                                                "type": {
                                                  "description": "The data type of the input",
                                                  "enum": [
                                                    "boolean",
                                                    "file",
                                                    "file_array",
                                                    "inputs_array",
                                                    "model",
                                                    "model_array",
                                                    "number",
                                                    "number_array",
                                                    "string",
                                                    "string_array"
                                                  ],
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "type"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "type": "array"
                                        },
                                        "kind": {
                                          "description": "The asset kind of the input. Only taken into account for \\`file\\` and \\`file_array\\` input types.\nIf model provides multiple kinds,\nthe input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix\n\\`file\\` and \\`file_array\\` inputs always expose a kind: when a model does not declare one,\n\\`image\\` is returned, which is the kind used at generation time.",
                                          "enum": [
                                            "3d",
                                            "audio",
                                            "document",
                                            "image",
                                            "image-hdr",
                                            "json",
                                            "text",
                                            "video"
                                          ],
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The label displayed in the UI for this input",
                                          "type": "string"
                                        },
                                        "maskFrom": {
                                          "description": "The name of the file input field to use as the mask source",
                                          "type": "string"
                                        },
                                        "max": {
                                          "description": "The maximum allowed value. Only available for \\`number\\` and \\`array\\` input types.",
                                          "type": "number"
                                        },
                                        "maxDuration": {
                                          "description": "The maximum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "maxLength": {
                                          "description": "The maximum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "maxSize": {
                                          "description": "The maximum allowed file size in bytes. Only applies to \\`file\\` and \\`file_array\\` input types.\nValidated against \\`asset.properties.size\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "min": {
                                          "description": "The minimum allowed value. Only available for \\`number\\` and array input types.",
                                          "type": "number"
                                        },
                                        "minDuration": {
                                          "description": "The minimum allowed media duration in seconds. Only applies to \\`file\\` and \\`file_array\\` input types\nfor video and audio assets. Validated against \\`asset.properties.duration\\` at job creation time.",
                                          "type": "number"
                                        },
                                        "minLength": {
                                          "description": "The minimum allowed length for \\`string\\` and \\`model\\` inputs, in characters.\nFor the array types (\\`string_array\\`, \\`model_array\\`) it bounds the NUMBER OF\nITEMS instead — the length of each item is not constrained.",
                                          "type": "number"
                                        },
                                        "modelTypes": {
                                          "description": "The allowed model types for this input. Example: \\`[\"flux.1-lora\"]\\`.\nOnly available for \\`model_array\\` input type.",
                                          "items": {
                                            "enum": [
                                              "custom",
                                              "elevenlabs-voice",
                                              "flux.1",
                                              "flux.1-composition",
                                              "flux.1-kontext-dev",
                                              "flux.1-kontext-lora",
                                              "flux.1-krea-dev",
                                              "flux.1-krea-lora",
                                              "flux.1-lora",
                                              "flux.1-pro",
                                              "flux.1.1-pro-ultra",
                                              "flux.2-dev-edit-lora",
                                              "flux.2-dev-lora",
                                              "flux.2-klein-4b-edit-lora",
                                              "flux.2-klein-4b-lora",
                                              "flux.2-klein-9b-edit-lora",
                                              "flux.2-klein-9b-lora",
                                              "flux.2-klein-base-4b-edit-lora",
                                              "flux.2-klein-base-4b-lora",
                                              "flux.2-klein-base-9b-edit-lora",
                                              "flux.2-klein-base-9b-lora",
                                              "flux1.1-pro",
                                              "gpt-image-1",
                                              "qwen-image-2512-lora",
                                              "qwen-image-edit-2509-lora",
                                              "qwen-image-edit-2511-lora",
                                              "qwen-image-edit-lora",
                                              "qwen-image-lora",
                                              "zimage-de-turbo-lora",
                                              "zimage-lora",
                                              "zimage-turbo-lora"
                                            ],
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "name": {
                                          "description": "The name that must be user to call the model through the API",
                                          "type": "string"
                                        },
                                        "parent": {
                                          "description": "Whether this input represents a parent asset to assign to the produced assets.\nOnly available for \\`file\\` and \\`file_array\\` input types.\n\nFor \\`file_array\\`, the parent asset is the first item in the array.",
                                          "type": "boolean"
                                        },
                                        "placeholder": {
                                          "description": "Placeholder text for the input. Only available for 'string' input type.",
                                          "type": "string"
                                        },
                                        "prompt": {
                                          "description": "Whether the input is a prompt. When true, displays as a text area with prompt spark feature.\nOnly available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "promptSpark": {
                                          "description": "Whether the input is used with prompt spark. Only available for \\`string\\` input type.",
                                          "type": "boolean"
                                        },
                                        "ref": {
                                          "additionalProperties": false,
                                          "description": "The reference to another input or output of the same workflow.\nMust have at least one of node or conditional.",
                                          "properties": {
                                            "conditional": {
                                              "description": "The conditional nodes to reference.\nIf the conditional nodes are successful, the node will be successful.\nIf the conditional nodes are skipped, the node will be skipped.\nContains an array of node ids used to check the status of the nodes.",
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "equal": {
                                              "description": "This is the desired node output value if ref is an if/else node.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "description": "The name of the input or output to reference.\nIf the type is 'workflow', the name is the name of the input of the workflow is required\nIf the type is 'node', the name is not mandatory, except if you want all outputs of the node.\nTo get all outputs of a node, you can use the name 'all'.",
                                              "type": "string"
                                            },
                                            "node": {
                                              "description": "The node id or 'workflow' if the source is a workflow input.",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "required": {
                                          "additionalProperties": false,
                                          "description": "Set of rules that describes when this input is required:\n- \\`always\\`: Input is always required\n- \\`ifNotDefined\\`: Input is required when another specified input is not defined\n- \\`ifDefined\\`: Input is required when another specified input is defined\n- \\`conditional\\`: Input is required when other inputs have specific values\n\nBy default, the input is not required.",
                                          "properties": {
                                            "always": {
                                              "description": "Whether the input is always required",
                                              "type": "boolean"
                                            },
                                            "conditional": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when other inputs have one of the listed values",
                                              "properties": {
                                                "operator": {
                                                  "default": "and",
                                                  "description": "How the conditions combine: \\`and\\` (all must match) or \\`or\\` (any must match)",
                                                  "enum": [
                                                    "and",
                                                    "or"
                                                  ],
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "additionalProperties": false,
                                                  "description": "The conditions to check:\n- Key: name of the input to check\n- Value: values of that input that satisfy the condition",
                                                  "type": "object"
                                                }
                                              },
                                              "required": [
                                                "values"
                                              ],
                                              "type": "object"
                                            },
                                            "ifDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is defined:\n- Key: name of the input that must be defined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            },
                                            "ifNotDefined": {
                                              "additionalProperties": false,
                                              "description": "Makes this input required when another input is not defined:\n- Key: name of the input that must be undefined\n- Value: message to display when this input is required",
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "step": {
                                          "description": "The step increment for numeric inputs. Only available for \\`number\\` input type.",
                                          "minimum": 1,
                                          "type": "number"
                                        },
                                        "type": {
                                          "description": "The data type of the input",
                                          "enum": [
                                            "boolean",
                                            "file",
                                            "file_array",
                                            "inputs_array",
                                            "model",
                                            "model_array",
                                            "number",
                                            "number_array",
                                            "string",
                                            "string_array"
                                          ],
                                          "type": "string"
                                        },
                                        "value": {
                                          "description": "The value of the input.\nThis is the value of the input that will be used to run the node.\nOnly available for flows managed by a WorkflowJob."
                                        }
                                      },
                                      "required": [
                                        "name",
                                        "type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "items": {
                                    "description": "Statically-configured items for a List node, or the frozen candidate list\nof a UserSelection node. The values can be strings, numbers, or asset IDs.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "iterationIndex": {
                                    "description": "Zero-based index of the iteration this node copy belongs to.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "number"
                                  },
                                  "jobId": {
                                    "description": "If the flow is part of a WorkflowJob, this is the jobId for the node.\njobId is only available for nodes started. A node \"Pending\" for a running workflow job is not started.",
                                    "type": "string"
                                  },
                                  "logic": {
                                    "additionalProperties": false,
                                    "description": "The logic of the node.\nOnly available for logic nodes.",
                                    "properties": {
                                      "cases": {
                                        "description": "The cases of the logic.\nOnly available for if/else nodes.",
                                        "items": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "condition": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "condition",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array"
                                      },
                                      "default": {
                                        "description": "The default case of the logic.\nContains the id/output of the node to execute if no case is matched.\nOnly available for if/else nodes.",
                                        "type": "string"
                                      },
                                      "transform": {
                                        "description": "The transform of the logic.\nOnly available for transform nodes.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "logicType": {
                                    "description": "The type of the logic for the node.\nOnly available for logic nodes.",
                                    "enum": [
                                      "if-else"
                                    ],
                                    "type": "string"
                                  },
                                  "loopBodyNodeIds": {
                                    "description": "IDs of the body template nodes that belong to this ForEach loop.\nAt runtime these templates are cloned once per iteration and marked Skipped.\nOnly available for ForEach nodes.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "loopNodeId": {
                                    "description": "ID of the ForEach node that spawned this iteration copy.\nSet on dynamically-created copies of loop body nodes.",
                                    "type": "string"
                                  },
                                  "modelId": {
                                    "description": "The model id for the node. Mainly used for custom model tasks.",
                                    "type": "string"
                                  },
                                  "output": {
                                    "description": "The output of the node.\nOnly available for logic nodes."
                                  },
                                  "status": {
                                    "description": "The status of the node. Only available for WorkflowJob nodes.",
                                    "enum": [
                                      "failure",
                                      "pending",
                                      "processing",
                                      "rejected",
                                      "skipped",
                                      "success"
                                    ],
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "The type of the job for the node.",
                                    "enum": [
                                      "custom-model",
                                      "for-each",
                                      "generate-prompt",
                                      "list",
                                      "logic",
                                      "model",
                                      "remove-background",
                                      "transform",
                                      "user-approval",
                                      "user-selection",
                                      "workflow"
                                    ],
                                    "type": "string"
                                  },
                                  "workflowId": {
                                    "description": "The workflow id for the node. Mainly used for workflow tasks.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "status",
                                  "type"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "hint": {
                              "description": "Actionable hint for the user explaining what went wrong and how to resolve it.",
                              "type": "string"
                            },
                            "input": {
                              "additionalProperties": true,
                              "description": "The inputs for the job",
                              "properties": {},
                              "type": "object"
                            },
                            "output": {
                              "additionalProperties": true,
                              "description": "May contain the output of the job for specific custom models jobs.\nOnly available for custom models which generate non-assets outputs.\nExample: LLM text results.",
                              "properties": {},
                              "type": "object"
                            },
                            "outputModelId": {
                              "description": "For voice-clone jobs: the ID of the model being trained.",
                              "type": "string"
                            },
                            "workflowId": {
                              "description": "The workflow ID of the job if job is part of a workflow.",
                              "type": "string"
                            },
                            "workflowJobId": {
                              "description": "The workflow job ID of the job if job is part of a workflow job.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "ownerId": {
                          "description": "The owner ID (example: \"team_U3Qmc8PCdWXwAQJ4Dvw4tV6D\")",
                          "type": "string"
                        },
                        "progress": {
                          "description": "Progress of the job (between 0 and 1)",
                          "type": "number"
                        },
                        "status": {
                          "description": "The current status of the job",
                          "enum": [
                            "canceled",
                            "failure",
                            "finalizing",
                            "in-progress",
                            "pending",
                            "queued",
                            "success",
                            "warming-up"
                          ],
                          "type": "string"
                        },
                        "statusHistory": {
                          "description": "The history of the different statuses the job went through with the ISO string date\nof when the job reached each statuses.",
                          "items": {
                            "additionalProperties": false,
                            "properties": {
                              "date": {
                                "type": "string"
                              },
                              "status": {
                                "enum": [
                                  "canceled",
                                  "failure",
                                  "finalizing",
                                  "in-progress",
                                  "pending",
                                  "queued",
                                  "success",
                                  "warming-up"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "date",
                              "status"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "taskId": {
                          "description": "The task the job's Creative Units are attributed to: the X-Scenario-Task-Id\nheader of the request that created it",
                          "type": "string"
                        },
                        "updatedAt": {
                          "description": "The job last update date as an ISO string (example: \"2023-02-03T11:19:41.579Z\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "createdAt",
                        "jobId",
                        "jobType",
                        "metadata",
                        "progress",
                        "status",
                        "statusHistory",
                        "updatedAt"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "job"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "workflowJobId": {
                    "description": "The ID of the workflow job that contains the user selection node",
                    "type": "string"
                  },
                  "nodeId": {
                    "description": "The ID of the user selection node to act on in the workflow",
                    "type": "string"
                  },
                  "action": {
                    "description": "Decision taken on the selection node. \"select\" persists the picked items and advances the workflow; \"reject\" marks it Rejected and cancels the workflow.",
                    "type": "string",
                    "enum": [
                      "select",
                      "reject"
                    ]
                  },
                  "selectedIndices": {
                    "description": "Zero-based indices into the node's `items` (the candidate list frozen when the node started processing). Required when action is \"select\". Order is preserved in the node output.",
                    "type": "array",
                    "minItems": 1,
                    "uniqueItems": true,
                    "items": {
                      "type": "integer",
                      "minimum": 0
                    }
                  }
                },
                "required": [
                  "workflowJobId",
                  "nodeId",
                  "action"
                ]
              }
            }
          }
        }
      }
    },
    "/workflows/tags": {
      "get": {
        "operationId": "GetWorkflowsTags",
        "description": "Get all unique tags from workflows in a project (all privacy levels). Optionally filter by status.",
        "tags": [
          "Workflows"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "description": "The projectId used for ownership resource management. Either to assert ownership or to set the owner of the resource(s)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Only collect tags from workflows in this status. Default `ready`.",
            "schema": {
              "type": "string",
              "default": "ready",
              "enum": [
                "draft",
                "ready",
                "deleted"
              ]
            }
          }
        ],
        "security": [
          {
            "scBasicAuth": []
          },
          {
            "scBearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tags": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Array of unique tags from workflows in the project"
                    }
                  },
                  "required": [
                    "tags"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    }
  }
}